Найдите максимальный и минимальный элементы в массиве и поменяйте их местами - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найдите максимальный и минимальный элементы в массиве и поменяйте их местами.

Формат входных данных:

На вход программе сначала подается значение n не больше 100 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30 000.

Формат результата:

Выдайте значения элементов массива после выполнения указанной операции.

Решение задачи: «Найдите максимальный и минимальный элементы в массиве и поменяйте их местами»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int Max(int a[], int n){
  4.  
  5. int max = 0, i, j = 0;
  6. for(i = 0; i <= n - 1; i++)
  7.      if(max < a[i])
  8.         {
  9.             j = i;
  10.             max = a[i];
  11.  
  12.         }
  13.  
  14. return j;
  15. }
  16. int Min (int a[], int n){
  17.     int min = 32000, i, j = 0;
  18. for(i = 0; i <= n - 1; i++)
  19.         if(min > a[i]){
  20.             j = i;
  21.             min = a[i];
  22. }
  23. return j;
  24. }
  25.  
  26. int main()
  27. {
  28.     int n, i, a, b, temp;
  29.  
  30.     printf("Vvedine n: ");
  31.     scanf("%d", &n);
  32.       int mass[n];
  33.     if(n <= 100 && n > 1){
  34.         for( i = 0; i <= n - 1; i++){
  35.         mass[i] = rand() % 20;
  36.         printf("%4d", mass[i]);
  37.  
  38.         if((i+1) % 10 == 0) printf("\n");
  39. }
  40.  
  41.     a = Max(mass, n);
  42.     b = Min (mass, n);
  43.  
  44. printf("%d %d\n", a, b);
  45.     temp = mass[a];
  46.     mass[a] = mass[b];
  47.     mass[b] = temp;
  48.  
  49.     for(i = 0; i <= n - 1; i++){
  50.     printf("%4d", mass[i]);
  51.  
  52.     if((i+1) % 10 == 0) printf("\n");
  53.     }
  54.     }
  55.         else printf("Ozibka vvoda\n");
  56.  
  57. return 0;
  58. }

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

В этом коде:

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы