Заполнить матрицу числами натурального ряда - QBasic
Формулировка задачи:
Помогите пожалуйста решить задачу (Заполнить матрицу А(N,N) числами натурального ряда в последовательности указанной на рисунке и найти их сумму.
Решение задачи: «Заполнить матрицу числами натурального ряда»
textual
Листинг программы
CLS CONST n = 7 DIM A(1 TO n, 1 TO n) k = 1 FOR i = 1 TO n FOR j = 1 TO n IF i <= n \ 2 + 1 AND i <= j AND i + j <= 8 THEN A(i, j) = k k = k + 1 ELSEIF i >= j AND i + j >= 8 THEN A(i, j) = k k = k + 1 END IF NEXT j, i FOR i = 2 TO n STEP 2 FOR j = 1 TO n \ 2 SWAP A(i, j), A(i, n + 1 - j) NEXT j, i FOR i = 1 TO n FOR j = 1 TO n PRINT USING " ###"; A(i, j); NEXT j: PRINT NEXT i END
Объяснение кода листинга программы
- Задана переменная
nсо значением 7 (количество строк и столбцов матрицы). - Создана матрица
Aразмером 1x1 до 7x7. - Задана переменная
kсо значением 1 (инициализация счетчика). - Два вложенных цикла
FORзаполняют матрицуAчислами натурального ряда от 1 до 7, начиная с элементаA(1,1). Условие заполнения матрицы:- Если
iменьше или равноn/2 + 1,jменьше или равноn, иi + jменьше или равно 8, то элементA(i,j)принимает значениеk, аkувеличивается на 1. - Если
iбольше или равноj, иi + jбольше или равно 8, то элементA(i,j)принимает значениеk, аkувеличивается на 1.
- Если
- Два вложенных цикла
FORменяют местами элементы матрицыA, начиная с элементаA(2,1), через один (элементыA(2,2),A(4,1),A(6,1)и т.д.). - Два вложенных цикла
FORвыводят значения элементов матрицыAна экран, используя формат вывода###. - Код заканчивается END.