Отсортировать элементы строк матрицы в порядке возрастания, а строки - в порядке возрастания сумм элементов - C (СИ)
Формулировка задачи:
Задать с клавиатуры количество целочисленных матриц. Данные получить с помощью датчика случайных чисел RANDOM. Отсортировать элементы каждой строки матрицы в порядке возрастания, а сами строки в порядке возрастания сумм их элементов.
Собственно, как сортировать - понятно. Но как задать с клавиатуры кол-во целочисленных матриц а потом еще и каждую отсортировать, не очень представляю. И вообще это без динамики реально?
Решение задачи: «Отсортировать элементы строк матрицы в порядке возрастания, а строки - в порядке возрастания сумм элементов»
textual
Листинг программы
for (int i = 0; i < n; i ++) { for (iny j = 0; j < n; j ++) { for (int a = 0; a < n; a ++) { for (int b = 0; b < n; b ++) { if (array[a][b] > array[i][j]) { int temp = array[a][b]; array[a][b] = array[i][j]; array[i][j] = temp; } } } } }
Объяснение кода листинга программы
- Сортировка элементов строк матрицы в порядке возрастания.
- Сортировка строк матрицы в порядке возрастания сумм элементов.
- В каждой итерации внутреннего цикла выбирается максимальное значение из несортированной части строки.
- Это максимальное значение меняется местами с первым элементом неотсортированной части строки.
- Процесс повторяется для каждой строки матрицы.
- В каждой итерации внешнего цикла происходит сортировка элементов внутри строки.
- В каждой итерации внутреннего цикла выбирается максимальное значение из несортированной части строки.
- Это максимальное значение меняется местами с первым элементом неотсортированной части строки.
- Процесс повторяется для каждой строки матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д