Найти наибольший и наименьший элементы массива и поменять их местами - 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 программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д