Заполнить матрицу числами натурального ряда - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д