Выполнить сортировку двумерного массива методом нахождения минимального элемента - C (СИ)

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

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

Добрый день! подскажите, пожалуйста, как выполнить сортировку двумерного массива методом нахождения минимального элемента?

Решение задачи: «Выполнить сортировку двумерного массива методом нахождения минимального элемента»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. #define L 3                             // line
  4. #define C 3                             // column
  5.  
  6. int main()
  7. {
  8.     int A [L][С] = {0};
  9.     int B [С] = {0};                            // clipboard
  10.     int i = 0, j = 0, n = 0, m = 0,
  11.         g = 0, exchange = 0;
  12.  
  13.     for (i = 0; i <= L - 1; i++)
  14.         for (j = 0; j <= C - 1; j++)
  15.             scanf ("%2d", &A [i][j]);
  16.  
  17.     g = 0;
  18.  
  19.     while (g <= L - 1)
  20.     {
  21.         j = 0;
  22.         exchange = 0;
  23.         n = g;
  24.         B [j] = A [g][j];
  25.  
  26.         for (i = g + 1; i <= L - 1; i++)
  27.         {
  28.             if (A [i][j] < B [j]) {
  29.                 exchange = 1;
  30.                 n = i;
  31.  
  32.                 for (j = 0; j <= C - 1; j++)
  33.                     B [j] = A [i][j];
  34.             }
  35.         }
  36.  
  37.         if (exchange)
  38.         {
  39.             for (j = 0; j <= C - 1; j++) {
  40.                 A [n][j] = A [g][j];
  41.                 A [g][j] = B [j];
  42.             }
  43.         }
  44.         g++;
  45.     }
  46.  
  47.     for (i = 0; i <= L - 1; i++)
  48.     {
  49.         for (j = 0; j <= C - 1; j++)
  50.             printf ("%2d", A [i][j]);
  51.         printf ("\n");
  52.     }
  53.     return 0;
  54. }

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

  1. Включаем заголовочный файл для использования функций ввода-вывода
  2. Задаем размеры массива L=3 и С=3
  3. Объявляем двумерный массив A размером LxС и заполняем его значениями 0
  4. Объявляем одномерный массив B размером С и заполняем его значениями 0
  5. Объявляем переменные i, j, n, m, g, exchange и инициализируем их значениями 0
  6. Считываем значения массива A с помощью функции scanf
  7. Устанавливаем переменную g равной 0
  8. Запускаем цикл while, который выполняется до тех пор, пока g меньше или равно L-1
  9. Внутри цикла устанавливаем переменную j равной 0 и инициализируем переменную exchange значением 0
  10. Устанавливаем переменную n равной g
  11. Копируем минимальный элемент из массива A в массив B
  12. Используя вложенные циклы, находим минимальный элемент в текущей строке массива A и копируем его в массив B
  13. Если найден минимальный элемент, меняем значения элементов массива A, которые соответствуют текущей строке и столбцу, на значения из массива B
  14. Увеличиваем переменную g на 1
  15. По окончании цикла выводим значения массива A с помощью функции printf
  16. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

5   голосов , оценка 4.2 из 5

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

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

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