Выполнить сортировку двумерного массива методом нахождения минимального элемента - 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, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д