Найдите максимальный и минимальный элементы в массиве и поменяйте их местами - C (СИ)
Формулировка задачи:
Найдите максимальный и минимальный элементы в массиве и поменяйте их местами.
Формат входных данных:
На вход программе сначала подается значение n не больше 100 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30 000.Формат результата:
Выдайте значения элементов массива после выполнения указанной операции.Решение задачи: «Найдите максимальный и минимальный элементы в массиве и поменяйте их местами»
textual
Листинг программы
- #include <stdio.h>
- int Max(int a[], int n){
- int max = 0, i, j = 0;
- for(i = 0; i <= n - 1; i++)
- if(max < a[i])
- {
- j = i;
- max = a[i];
- }
- return j;
- }
- int Min (int a[], int n){
- int min = 32000, i, j = 0;
- for(i = 0; i <= n - 1; i++)
- if(min > a[i]){
- j = i;
- min = a[i];
- }
- return j;
- }
- int main()
- {
- int n, i, a, b, temp;
- printf("Vvedine n: ");
- scanf("%d", &n);
- int mass[n];
- if(n <= 100 && n > 1){
- for( i = 0; i <= n - 1; i++){
- mass[i] = rand() % 20;
- printf("%4d", mass[i]);
- if((i+1) % 10 == 0) printf("\n");
- }
- a = Max(mass, n);
- b = Min (mass, n);
- printf("%d %d\n", a, b);
- temp = mass[a];
- mass[a] = mass[b];
- mass[b] = temp;
- for(i = 0; i <= n - 1; i++){
- printf("%4d", mass[i]);
- if((i+1) % 10 == 0) printf("\n");
- }
- }
- else printf("Ozibka vvoda\n");
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- int Max(int a[], int n) - функция для поиска максимального элемента в массиве a длиной n. Результатом работы функции является индекс максимального элемента в массиве.
- int Min(int a[], int n) - функция для поиска минимального элемента в массиве a длиной n. Результатом работы функции является индекс минимального элемента в массиве.
- int main() - основная функция программы, в которой происходит следующее:
- Запрос на ввод количества элементов в массив (n).
- Создание массива длиной n и заполнение его случайными числами от 0 до 19.
- Вывод на экран заполненного массива.
- Поиск максимального и минимального элементов в массиве с помощью функций Max и Min.
- Обмен максимального и минимального элементов с помощью временной переменной temp.
- Вывод на экран обновленного массива.
- Если введенное количество элементов выходит за пределы от 11 до 99, выводится сообщение об ошибке
Ozibka vvoda
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д