Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
anastalex
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 142
1

Найти и исправить ошибку в коде

14.01.2016, 16:51. Просмотров 768. Ответов 8
Метки нет (Все метки)

Программа выдаёт ошибку в 27-ой строке (отметила комментарием), там я пытаюсь вычислить максимальный элемент массива. Что не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <string>
 
using namespace std;
int main()
{
    setlocale(0, "");
 
int a[10]={10,9,8,7,6,5,4,3,2,1};
const int n=10;
    for (int i = 0; i < 10; i++) {
        cin>>a[i];
        cout << a[i] << endl;
    }
    int A,B;
      cout<<"Введите A (от 1 до 10): ";
      cin>>A;
      cout<<"Введите B (B>A): ";
      cin>>B;
 
    int C=B-A;
      cout<<"Количество элементов массива, лежащих в диапазоне от "<<A<<" до "<<B<<" равно "<<C<<endl;
 
for (int i = 0; i < 10; i++)
      if (i==0){
        max=a[0];}   //27
      if (a[i] > max){
      max = a[i];
      cout<<max<<endl;
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2016, 16:51
Ответы с готовыми решениями:

Найти и исправить ошибку в коде
class TV; class Remote { private: int mode; public: Remote(int n) :...

Найти и исправить ошибку в коде
Вроде бы сделал все правильно, но она все равно не хочет работать. #include...

Найти и исправить ошибку в коде
class T1 { double *p; int kol; public: T1(int a); //выделяет динам....

Найти и исправить ошибку в коде
Где ошибка в коде простейшей программы? Пограмма должна отсчитать до 3 и...

Помогите найти и исправить ошибку в коде
Не очень хорошо пока что понимаю язык,поэтому,думаю,косяков довольно много. ...

8
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
14.01.2016, 16:53 2
anastalex, А где определение переменной? Напишите int max = 0; в начале функции main().
1
anastalex
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 142
14.01.2016, 17:00  [ТС] 3
makfak, Теперь выдаёт ошибку в следующей строке
Код
if (a[i] > max){
0
HidForce
57 / 57 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
14.01.2016, 17:01 4
anastalex, что за ошибка?
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
14.01.2016, 17:02 5
anastalex, Попробуйте вот так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <string>
 
using namespace std;
int main()
{
    setlocale(0, "");
 
const int n=10;
int a[n]={10,9,8,7,6,5,4,3,2,1};
 
    for (int i = 0; i < n; i++) {
        cin>>a[i];
        cout << a[i] << endl;
    }
    int A,B;
      cout<<"Введите A (от 1 до 10): ";
      cin>>A;
      cout<<"Введите B (B>A): ";
      cin>>B;
 
    int C=B-A;
      cout<<"Количество элементов массива, лежащих в диапазоне от "<<A<<" до "<<B<<" равно "<<C<<endl;
 
int max = 0;
for (int i = 0; i < n; i++)
      if (i==0){
        max=a[0];}
      if (a[i] > max){
      max = a[i];
      cout<<max<<endl;
    }
    return 0;
}
0
ThePlague
102 / 102 / 99
Регистрация: 30.06.2015
Сообщений: 272
14.01.2016, 17:07 6
Лучший ответ Сообщение было отмечено anastalex как решение

Решение

anastalex, строка 25 тело цикла забыли!

C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i < n; i++)
{
      if (i==0)
      {
          max=a[0];
      }
      if (a[i] > max)
      {
          max = a[i];
          cout<<max<<endl;
      }
}
1
anastalex
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 142
14.01.2016, 17:11  [ТС] 7
Та же самая ошибка error: name lookup of 'i' changed for ISO 'for' scoping [-fpermissive] в той же строчке
Код
if (a[i] > max){
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
14.01.2016, 17:11 8
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

anastalex, Вот в общем вам готовый вариант.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <string>
 
using namespace std;
int main()
{
    setlocale(0, "");
 
    const int n=10;
    int a[n]={10,9,8,7,6,5,4,3,2,1};
 
    for (int i = 0; i < n; i++) {
        cin>>a[i];
        cout << a[i] << endl;
    }
    int A,B;
      cout<<"Введите A (от 1 до 10): ";
      cin>>A;
      cout<<"Введите B (B>A): ";
      cin>>B;
 
    int C=B-A;
      cout<<"Количество элементов массива, лежащих в диапазоне от "<<A<<" до "<<B<<" равно "<<C<<endl;
 
    int max = a[0];
    for (int i = 1; i < n; i++)
          if (a[i] > max)
            max = a[i];
    cout << max << endl;
    return 0;
}
1
anastalex
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 142
14.01.2016, 17:34  [ТС] 9
ThePlague, Сейчас попробую!

Добавлено через 22 минуты
Получилось! Спасибо!
0
14.01.2016, 17:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2016, 17:34

Найти ошибку в заданном коде и исправить её
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main () { ...

Не могу найти и исправить ошибку в коде
#include &lt;iostream&gt; #include &lt;locale.h&gt; using namespace std; double...

Найти и исправить ошибку в заданном коде
Given real numbers a, b, c, where a is not 0. Find if a quadratic inequality...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru