Найдите максимальный и минимальный элементы в массиве и поменяйте их местами - 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;
}

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

В этом коде:

  1. int Max(int a[], int n) - функция для поиска максимального элемента в массиве a длиной n. Результатом работы функции является индекс максимального элемента в массиве.
  2. int Min(int a[], int n) - функция для поиска минимального элемента в массиве a длиной n. Результатом работы функции является индекс минимального элемента в массиве.
  3. int main() - основная функция программы, в которой происходит следующее:
    • Запрос на ввод количества элементов в массив (n).
    • Создание массива длиной n и заполнение его случайными числами от 0 до 19.
    • Вывод на экран заполненного массива.
    • Поиск максимального и минимального элементов в массиве с помощью функций Max и Min.
    • Обмен максимального и минимального элементов с помощью временной переменной temp.
    • Вывод на экран обновленного массива.
    • Если введенное количество элементов выходит за пределы от 11 до 99, выводится сообщение об ошибке Ozibka vvoda.

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


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

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

15   голосов , оценка 3.933 из 5
Похожие ответы