Ошибка в поиске максимального элемента массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здавствуйте. Написал программу для нахождения максимального элемента масссива.
Листинг программы
  1. #include <stdio.h>
  2. #define size 3
  3. void main()
  4. {
  5. int mas[size];
  6. int i, max;
  7. max=0;
  8. for(i=0; i<size; i++)
  9. {
  10. scanf("%i", &mas[i]);
  11. if (i==0 || mas[i]>max)
  12. max=mas[i];
  13. }
  14. printf("max=%i", &max);
  15. }
Ввожу 1, 2, 3 - выдает max=какое-нибудь большое непонятное число Из-за чего это и где ошибка? Помогите пожалуйста

Решение задачи: «Ошибка в поиске максимального элемента массива»

textual
Листинг программы
  1. #include <stdio.h>
  2. #define size 3
  3. void main()
  4. {
  5.     int mas[size];
  6.     int i, num, max;
  7.     max=0;
  8.     for(i=0; i<size; i++)
  9.     {
  10.         scanf("%i", &mas[i]);
  11.         if (i==0 || mas[i]>max)
  12.         {
  13.             max=mas[i];
  14.             num=i;
  15.         }
  16.     }
  17.     printf("max=%i\nnummax=%i", max, num);
  18. }

Объяснение кода листинга программы

В этом коде:

  1. Объявлен массив mas размером size переменной типа int.
  2. Далее, объявлены переменные i, num и max также типа int.
  3. Переменная max инициализируется значением 0.
  4. В цикле for перебираются все элементы массива mas.
  5. Каждый элемент массива mas считывается с помощью функции scanf в переменную num, а затем проверяется условие, что текущий элемент больше максимального значения, хранящегося в переменной max.
  6. Если условие выполняется, то значение текущего элемента присваивается переменной max, а значение переменной i присваивается переменной num.
  7. После окончания цикла, выводятся значения переменных max и num. Ошибка в коде заключается в том, что при равенстве двух максимальных значений, будет проигнорировано второе максимальное значение, и в переменной num будет храниться индекс первого максимального значения.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы