Квадратная матрица из линейного массива - QBasic

Узнай цену своей работы

Формулировка задачи:

помогите пожалуйста. дана линейная матрица n(n<=10) элементов заполненная целыми числами, составьте квадратную матрицу n*n, что первая совпадала с элементами линейного массива а каждая следующая получалась циклическим сдвигом предыдущей строки влево, с переносом первого элемента в конец строки.
пока вот что получилось.

Решение задачи: «Квадратная матрица из линейного массива»

textual
Листинг программы
CLS
OPEN "input.dat" FOR INPUT AS #1
INPUT #1, n
DIM a(n), b(n)
FOR i = 1 TO n
INPUT #1, a(i)
b(i) = i
NEXT
CLOSE
FOR i = 1 TO n
FOR j = 2 TO n
IF a(j) > a(j - 1) THEN SWAP a(j), a(j - 1): SWAP b(j), b(j - 1)
NEXT
NEXT
OPEN "output.dat" FOR OUTPUT AS #2
FOR i = 1 TO n
PRINT #2, b(i)
NEXT
CLOSE

Объяснение кода листинга программы

  1. CLS — очистка экрана
  2. OPENinput.datFOR INPUT AS #1 — открытие файла input.dat для чтения
  3. INPUT #1, n — считывание числа из файла и присвоение его переменной n
  4. DIM a(n), b(n) — объявление двух массивов a и b размером n
  5. FOR i = 1 TO n — начало цикла по индексам массива a
  6. INPUT #1, a(i) — считывание числа из файла и присвоение его элементу массива a с индексом i
  7. b(i) = i — присвоение элементу массива b с индексом i значения i
  8. NEXT — переход к следующему элементу цикла
  9. CLOSE — закрытие файла
  10. FOR i = 1 TO n — начало цикла по индексам массива a
  11. FOR j = 2 TO n — начало цикла по индексам массива a с шагом 2
  12. IF a(j) > a(j - 1) THEN SWAP a(j), a(j - 1): SWAP b(j), b(j - 1) — сортировка массива a методом пузырька и массива b методом перебора
  13. NEXT — переход к следующему элементу внутреннего цикла
  14. NEXT — переход к следующему элементу внешнего цикла
  15. OPENoutput.datFOR OUTPUT AS #2 — открытие файла output.dat для записи
  16. FOR i = 1 TO n — начало цикла по индексам массива b
  17. PRINT #2, b(i) — запись значения элемента массива b с индексом i в файл
  18. NEXT — переход к следующему элементу цикла
  19. CLOSE — закрытие файла
  20. Код выполнен

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы