Найти максимальное значение массива - C (СИ) (73194)
Формулировка задачи:
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> int vvod(int m[5], int i, int max); int main() { setlocale(LC_ALL, "rus"); int m[5]; int c, i, max; do{ printf("1 - Ввод 1 массива\n"); printf("2 - Ввод 2 массива\n"); // это пока чтобы было, потом доработаю printf("3 - Выход\n"); printf("Ввод: "); scanf("%d", &c); switch(c) { case 1: printf("%d", vvod(m[5], i, max)); break; default: printf("Ошибка ввода\n"); break; } }while(c == 3); } int vvod(int m[5], int i, int max) { max = m[0]; for(i = 1; i < 5; i++) { printf("Введите число: "); scanf("%d", m[i]); if (m[i] > max) { max = m[i]; } } printf("Максимальное число: %d", max); return max; }
Решение задачи: «Найти максимальное значение массива»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> #include <limits.h> enum constants {SZ = 5}; int vvod(int m[], int sz); int main() { int m[SZ]; int c; setlocale(LC_ALL, ""); do{ printf("1 - Ввод 1 массива\n"); printf("2 - Ввод 2 массива\n"); // это пока чтобы было, потом доработаю printf("3 - Выход\n"); printf("Ввод: "); scanf("%d", &c); switch(c) { case 1: vvod(m, SZ); break; default: printf("Ошибка ввода\n"); break; } }while(c != 3); } int vvod(int m[], int sz) { int i, max; max = -INT_MAX; for(i = 0; i < sz; i++) { printf("Введите число: "); scanf("%d", &(m[i])); if (m[i] > max) { max = m[i]; } } printf("Максимальное число: %d", max); return max; }
Объяснение кода листинга программы
- Объединение всех необходимых заголовочных файлов.
- Создание перечисления для определения размера массива.
- Объявление функции ввода массива.
- Основной цикл программы с использованием do-while, который будет выполняться до тех пор, пока пользователь не введет 3.
- Ввод массива с помощью функции vvod.
- Функция vvod принимает два аргумента: массив и размер массива.
- Внутри функции vvod инициализируется переменная max значением -INT_MAX.
- Затем происходит проход по всем элементам массива с помощью цикла for.
- Каждый элемент массива сравнивается с текущим максимальным значением.
- Если текущий элемент больше максимального значения, то он становится новым максимальным значением.
- После прохода по всем элементам массива выводится максимальное значение.
- Функция возвращает найденное максимальное значение.
- В основной функции после вызова функции vvod происходит проверка введенного значения на предмет ошибки.
- Если введено некорректное значение, выводится сообщение об ошибке.
- Программа завершается после выхода из основного цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д