Упорядочить строки по возрастанию элементов главной диагонали - QBasic (244507)
Формулировка задачи:
. В массивe R(5, 5) упорядочить строки по возрастанию
элементов главной диагонали.
На выходе имеем:
На выходе, я думаю, должно быть так:
А как это сделать Предполагаю, что можно применить сортировку массива. Но для двухмерного массива – вопрос-
делается ли она или нет. В книге Тимофеевской об этом ни звука.
Вы могли бы раскрыть эту тему? Ну и сделать приведённую программу. .
Решение задачи: «Упорядочить строки по возрастанию элементов главной диагонали»
textual
Листинг программы
CLS RANDOMIZE TIMER DIM x(5, 5), d(5) FOR i = 1 TO 5 FOR j = 1 TO 5 x(i, j) = INT(90 * RND) IF i = j THEN d(i) = x(i, j) PRINT USING "####"; x(i, j); NEXT: PRINT NEXT: PRINT FOR i = 1 TO 4 FOR j = i + 1 TO 5 IF d(i) > d(j) THEN FOR k = 1 TO 5 SWAP x(i, k), x(j, k) NEXT k SWAP d(i), d(j) END IF NEXT j, i FOR i = 1 TO 5 FOR j = 1 TO 5 PRINT USING "####"; x(i, j); NEXT: PRINT NEXT
Объяснение кода листинга программы
- Объявляются переменные: — x(5, 5) - матрица 5x5; — d(5) - вектор из 5 элементов; — i, j - индексы для обхода матрицы и вектора; — k - дополнительный индекс для обхода матрицы; — num - количество итераций цикла.
- Заполняется матрица x случайными целыми числами от 0 до 89.
- По главной диагонали матрицы x(i, i) заполняется вектор d.
- Организуется вывод на экран содержимого матрицы x.
- Производится сортировка матрицы x по возрастанию элементов главной диагонали.
- Дополнительно выводятся на экран отсортированные значения матрицы x.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д