Массив: представить числа так, чтобы матрица стала отсортированной - QBasic
Формулировка задачи:
http://imgur.com/FOUzMzC
Решение задачи: «Массив: представить числа так, чтобы матрица стала отсортированной»
textual
Листинг программы
CLS INPUT "N,M ="; n, m DIM A(1 TO n, 1 TO m) AS INTEGER DIM B(1 TO n * m) AS INTEGER FOR i = 1 TO n FOR j = 1 TO m A(i, j) = 20 * RND PRINT USING "####"; A(i, j); NEXT j PRINT NEXT i PRINT FOR i = 1 TO n FOR j = 1 TO m B(m * (i - 1) + j) = A(i, j) NEXT j NEXT i FOR i = 1 TO n * m - 1 FOR j = i + 1 TO n * m IF B(i) > B(j) THEN SWAP B(i), B(j) NEXT j NEXT i c = 1 FOR k = 2 TO n + m FOR i = 1 TO n FOR j = 1 TO m IF i + j = k THEN A(i, j) = B(c): c = c + 1 NEXT j NEXT i NEXT k FOR i = 1 TO n FOR j = 1 TO m PRINT USING "####"; A(i, j); NEXT j PRINT NEXT i END
Объяснение кода листинга программы
В этом коде выполняется сортировка массива A методом сортировки пузырьком, после чего элементы массива B, которые были использованы для временного хранения, переносятся обратно в массив A. Вот список действий, которые происходят в коде:
- Ввод размеров массива A с помощью функции INPUT.
- Инициализация массива A случайными значениями.
- Инициализация массива B, который будет использоваться для временного хранения.
- Два вложенных цикла, которые проходят по всем элементам массива A.
- Внутренний цикл внутри внешнего цикла проходит по всем элементам массива B.
- Передача значений из массива A в массив B.
- Два вложенных цикла, которые проходят по всем элементам массива B.
- Внутренний цикл внутри внешнего цикла проходит по всем элементам массива B.
- Если значение элемента B(i) больше значения элемента B(j), то происходит обмен значениями.
- Передача значений из массива B обратно в массив A.
- Два вложенных цикла, которые проходят по всем элементам массива A.
- Внутренний цикл внутри внешнего цикла проходит по всем элементам массива A.
- Вывод отсортированного массива A.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д