Показать сообщение отдельно
Старый 26.10.2016, 10:21   #1 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Заполнить матрицу

Требуется заполнить матрицу как на рисунке.
Вероятно это можно сделать и проще, но я сделал так.

Вопрос
годится ли мой код, если бы n = 6?

Код:
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
Изображения
 
iks2 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070