Найти наибольший и наименьший элементы массива и поменять их местами - C (СИ)
Формулировка задачи:
Ввести массив вещественных чисел размером п, п вводиться с клавиатуры. Найти его наибольший и наименьший элементы и поменять их местами. Найти сумму и произведение всех элементов массива.
Решение задачи: «Найти наибольший и наименьший элементы массива и поменять их местами»
textual
Листинг программы
int main(int argc, char *argv[]) { setlocale(LC_ALL, "RU"); int n; printf("Введите размер массива\n"); scanf("%d", &n); double arr[n]; printf("Введите массив\n"); for(int i=0; i<n; i++){ scanf("%lf", &arr[i]);} int posMax = 0, posMin = 0; double max = arr[0], min = arr[0]; for(int i=0; i<n; i++){ if(max < arr[i]){ max = arr[i]; posMax = i;} if(min > arr[i]){ min = arr[i]; posMin = i;} } printf("Максимум %lf; Минимум %lf\n", max, min); printf("Поменяем их местами\n"); arr[posMax] = min; arr[posMin] = max; for(int i=0; i<n; i++){ printf("%lf ", arr[i]);} printf("\n"); printf("Сумма элементов массива "); max = 0; for(int i=0; i<n; i++){ max += arr[i];} printf("%lf\n", max); printf("Произведение элементов массива "); max = 1; for(int i=0; i<n; i++){ max *= arr[i];} printf("%lf\n", max); return 0; }
Объяснение кода листинга программы
В этом коде:
- *int main(int argc, char argv[])** - это функция main программы, она запускается при запуске программы.
- setlocale(LC_ALL,
RU
) - это установка локали на русский язык для вывода сообщений. - int n; - это переменная для хранения размера массива.
- printf(
Введите размер массива\n
); - это сообщение для пользователя, чтобы он ввел размер массива. - scanf(
%d
, &n); - это чтение размера массива из ввода пользователя. - double arr[n]; - это объявление массива arr размером n.
- printf(
Введите массив\n
); - это сообщение для пользователя, чтобы он ввел массив. - for(int i=0; i<n; i++){ - это цикл для прохода по всем элементам массива.
- scanf(
%lf
, &arr[i]); - это чтение элемента массива из ввода пользователя. - int posMax = 0, posMin = 0; - это переменные для хранения позиции максимального и минимального элементов массива.
- double max = arr[0], min = arr[0]; - это переменные для хранения начального значения максимального и минимального элементов массива.
- for(int i=0; i<n; i++){ - это цикл для поиска максимального и минимального элементов массива.
- if(max < arr[i]){ - это условие для проверки, является ли текущий элемент больше текущего максимального элемента.
- max = arr[i]; - это обновление значения максимального элемента.
- posMax = i; - это обновление значения позиции максимального элемента.
- if(min > arr[i]){ - это условие для проверки, является ли текущий элемент меньше текущего минимального элемента.
- min = arr[i]; - это обновление значения минимального элемента.
- posMin = i; - это обновление значения позиции минимального элемента.
- printf(
Максимум %lf; Минимум %lf\n
, max, min); - это вывод значений максимального и минимального элементов массива. - printf(
Поменяем их местами\n
); - это сообщение для пользователя о том, что элементы будут переставлены. - arr[posMax] = min; - это перестановка максимального и минимального элементов.
- arr[posMin] = max; - это перестановка максимального и минимального элементов.
- for(int i=0; i<n; i++){ - это цикл для вывода всех элементов массива.
- printf(
%lf
, arr[i]); - это вывод значения элемента массива. - printf(
\n
); - это завершение вывода. - printf(
Сумма элементов массива
); - это вывод суммы элементов массива. - max = 0; - это обновление начального значения суммы.
- for(int i=0; i<n; i++){ - это цикл для прохода по всем элементам массива.
- max += arr[i]; - это обновление значения суммы.
- printf(
%lf\n
, max); - это вывод значения суммы. - printf(
Произведение элементов массива
); - это вывод произведения элементов массива. - max = 1; - это обновление начального значения произведения.
- for(int i=0; i<n; i++){ - это цикл для прохода по всем элементам массива.
- *max = arr[i];** - это обновление значения произведения.
- printf(
%lf\n
, max); - это вывод значения произведения. - return 0; - это выход из функции main программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д