• 20 БАЛЛОВ
    Найти и объяснить ошибки, допущенные в программе (Ошибок
    три).
    int main(){
    int n;
    cin >> n;
    int a = new int [n];
    int S = 0;
    for(int i = 0; i <= n; i++)
    cin >> a[i];
    S += a[i];
    cout << S;
    return 0;
    }

Ответы 6

  • И ещё про скобки немного: скобки нужны для того, чтобы строка на стоке S += a[i]; компилятор не выдал ошибку о том, что переменной i в данной области видимости не существует
    • Автор:

      rose42
    • 6 лет назад
    • 0
  • а в качестве третьей ошибки может быть отсутствие delete [] a? просто у меня преподша со скобками сама не дружит
    • Автор:

      josiejt06
    • 6 лет назад
    • 0
  • Ну, тут смотря как посмотреть. без delete твоя программа запустится и даже корректно завершится. Другое дело, что с теми ошибками, которые я перечислил, она даже не скомпилируется. Т.е. это является ошибкой с точки зрения компилятора. А вот как твоя преподша на это посмотрит, я хз. Я бы доверял тому, что пишет компилятор, больше, чем преподу ;)
  • с эти согласна) просто на всякий случай
    • Автор:

      mouse0lv2
    • 6 лет назад
    • 0
  • этим*
    • Автор:

      tracker
    • 6 лет назад
    • 0
  • int main(){

    int n;

    cin >> n;

    int *a = new int [n]; //1)Здесь должен быть указатель на переменную, т.к. ты не можешь обратиться к области памяти, выделенной через new не через указатель

    int S = 0;

    for(int i = 0; i < n; i++) { //2)забыты скобки и 3)вместо <= просто <, т.к. индексация в плюсах начинается с нуля

    cin >> a[i];

    S += a[i];

    }

    cout << S;

    return 0;

    }

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years