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