Заполнить матрицу числами натурального ряда - 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

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

  1. Задана переменная n со значением 7 (количество строк и столбцов матрицы).
  2. Создана матрица A размером 1x1 до 7x7.
  3. Задана переменная k со значением 1 (инициализация счетчика).
  4. Два вложенных цикла 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.
  5. Два вложенных цикла FOR меняют местами элементы матрицы A, начиная с элемента A(2,1), через один (элементы A(2,2), A(4,1), A(6,1) и т.д.).
  6. Два вложенных цикла FOR выводят значения элементов матрицы A на экран, используя формат вывода ###.
  7. Код заканчивается END.

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

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