Выполнить сортировку двумерного массива методом нахождения минимального элемента - C (СИ)
Формулировка задачи:
Добрый день! подскажите, пожалуйста, как выполнить сортировку двумерного массива методом нахождения минимального элемента?
Решение задачи: «Выполнить сортировку двумерного массива методом нахождения минимального элемента»
textual
Листинг программы
- #include <stdio.h>
- #define L 3 // line
- #define C 3 // column
- int main()
- {
- int A [L][С] = {0};
- int B [С] = {0}; // clipboard
- int i = 0, j = 0, n = 0, m = 0,
- g = 0, exchange = 0;
- for (i = 0; i <= L - 1; i++)
- for (j = 0; j <= C - 1; j++)
- scanf ("%2d", &A [i][j]);
- g = 0;
- while (g <= L - 1)
- {
- j = 0;
- exchange = 0;
- n = g;
- B [j] = A [g][j];
- for (i = g + 1; i <= L - 1; i++)
- {
- if (A [i][j] < B [j]) {
- exchange = 1;
- n = i;
- for (j = 0; j <= C - 1; j++)
- B [j] = A [i][j];
- }
- }
- if (exchange)
- {
- for (j = 0; j <= C - 1; j++) {
- A [n][j] = A [g][j];
- A [g][j] = B [j];
- }
- }
- g++;
- }
- for (i = 0; i <= L - 1; i++)
- {
- for (j = 0; j <= C - 1; j++)
- printf ("%2d", A [i][j]);
- printf ("\n");
- }
- return 0;
- }
Объяснение кода листинга программы
- Включаем заголовочный файл
для использования функций ввода-вывода - Задаем размеры массива L=3 и С=3
- Объявляем двумерный массив A размером LxС и заполняем его значениями 0
- Объявляем одномерный массив B размером С и заполняем его значениями 0
- Объявляем переменные i, j, n, m, g, exchange и инициализируем их значениями 0
- Считываем значения массива A с помощью функции scanf
- Устанавливаем переменную g равной 0
- Запускаем цикл while, который выполняется до тех пор, пока g меньше или равно L-1
- Внутри цикла устанавливаем переменную j равной 0 и инициализируем переменную exchange значением 0
- Устанавливаем переменную n равной g
- Копируем минимальный элемент из массива A в массив B
- Используя вложенные циклы, находим минимальный элемент в текущей строке массива A и копируем его в массив B
- Если найден минимальный элемент, меняем значения элементов массива A, которые соответствуют текущей строке и столбцу, на значения из массива B
- Увеличиваем переменную g на 1
- По окончании цикла выводим значения массива A с помощью функции printf
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д