Двумерная матрица - QBasic (145438)

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

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

Напишите программу, которая заполняет матрицу размером n*n (n-нечетное число) случайными числами, а затем вписывает в элементы, отмеченные на рисунке серым фоном, число 99

Решение задачи: «Двумерная матрица»

textual
Листинг программы
CLS
RANDOMIZE TIMER
 
DO
   INPUT "N = "; n
LOOP UNTIL n MOD 2
 
DIM x(n, n) AS LONG
 
FOR i = 1 TO n
FOR j = 1 TO n
   x(i, j) = 40 * RND - 20
NEXT j, i
 
k = n \ 2 + 1
 
FOR i = 1 TO n
FOR j = 1 TO n
   IF ABS(i - k) + ABS(j - k) < k THEN
      x(i, j) = 99
   END IF
NEXT j, i
 
FOR i = 1 TO n
FOR j = 1 TO n
   PRINT USING " ###"; x(i, j);
NEXT: PRINT
NEXT: PRINT
END

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

  1. CLS — очистка экрана
  2. RANDOMIZE TIMER — случайное заполнение матрицы
  3. DO — начало цикла
  4. INPUTN = ; n — запрос на ввод числа N для размера матрицы
  5. LOOP UNTIL n MOD 2 — цикл, который прерывается, если N нечетное число
  6. DIM x(n, n) AS LONG — объявление двумерной переменной x размером n на n
  7. FOR i = 1 TO n — начало внешнего цикла
  8. FOR j = 1 TO n — начало внутреннего цикла
  9. x(i, j) = 40 * RND - 20 — заполнение матрицы случайными числами от -20 до 40
  10. NEXT j, i — переход к следующей итерации внутреннего цикла
  11. k = n \ 2 + 1 — определение числа k, равного половине n плюс единице
  12. FOR i = 1 TO n — начало внешнего цикла
  13. FOR j = 1 TO n — начало внутреннего цикла
  14. IF ABS(i — k) + ABS(j — k) < k THEN — условие для определения, находится ли элемент в пределах квадрата со стороной k
  15. x(i, j) = 99 — присваивание значению 99 элементам, удовлетворяющим условию
  16. END IF — конец условия
  17. NEXT j, i — переход к следующей итерации внутреннего цикла
  18. FOR i = 1 TO n — начало внешнего цикла
  19. FOR j = 1 TO n — начало внутреннего цикла
  20. PRINT USING ###; x(i, j); — печать значения элемента матрицы в формате ### xxx
  21. NEXT: PRINT — переход к следующей итерации внутреннего цикла
  22. END — конец программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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