Найти максимум среди четных чисел по диагоналям матрицы - QBasic

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

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

Задана квадратная матрица случайным образом. Найти максимум среди четных чисел по диагоналям и поменять столбцы в которых находятся эти элементы. На QBasice

Решение задачи: «Найти максимум среди четных чисел по диагоналям матрицы»

textual
Листинг программы
DEFINT A, D, I-J, N
OPTION BASE 1
DIM a(5, 5)
CLS
RANDOMIZE TIMER
FOR i = 1 TO 5
   FOR j = 1 TO 5
      a(i, j) = INT((20 * RND) - 10)
      PRINT USING "####"; a(i, j);
   NEXT j
   PRINT
NEXT i
 
n = 0
FOR i = 1 TO 5
   IF (a(i, i) MOD 2) = 0 THEN n = n + 1
NEXT i
IF n = 0 THEN
   PRINT "Diagonal 1: thetnyh thisel NET"
   STOP
END IF
 
n = 0
FOR i = 1 TO 5
   IF (a(i, 6 - i) MOD 2) = 0 THEN n = n + 1
NEXT i
IF n = 0 THEN
   PRINT "Diagonal 2: thetnyh thisel NET"
   STOP
END IF
 
d1 = -32768
d2 = -32768
 
FOR i = 1 TO 5
   IF (a(i, i) MOD 2 = 0) AND (a(i, i) > d1) THEN
      d1 = a(i, i)
      n1 = i
   END IF
NEXT i
 
FOR i = 1 TO 5
   IF (a(i, 6 - i) MOD 2 = 0) AND a(i, 6 - i) > d2 THEN
      d2 = a(i, 6 - i)
      n2 = 6 - i
   END IF
NEXT i
 
IF n1 = n2 THEN
   PRINT "PERESTANOVKA NE NUSHNA"
   STOP
END IF
 
FOR i = 1 TO 5
   SWAP a(i, n1), a(i, n2)
NEXT i
 
PRINT
FOR i = 1 TO 5
   FOR j = 1 TO 5
      PRINT USING "####"; a(i, j);
   NEXT j
   PRINT
NEXT i
END

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

  1. Объявлены переменные: A, D, I-J, N, a(5,5), d1, d2, n1, n2.
  2. Задана матрица a(5,5) случайными четными числами от -32768 до 32767.
  3. Если сумма четных чисел по главной диагонали равна нулю, выводится сообщение Diagonal 1: thetnyh thisel NET и программа останавливается.
  4. Если сумма четных чисел по побочной диагонали равна нулю, выводится сообщение Diagonal 2: thetnyh thisel NET и программа останавливается.
  5. Переменные d1 и d2 инициализируются как -32768.
  6. Переменные n1 и n2 инициализируются как 0.
  7. Циклом перебираются элементы главной диагонали. Если элемент четный и больше d1, то d1 присваивается это число, а n1 - номер элемента.
  8. Циклом перебираются элементы побочной диагонали. Если элемент четный и больше d2, то d2 присваивается это число, а n2 - номер элемента.
  9. Если n1 = n2, выводится сообщение PERESTANOVKA NE NUSHNA и программа останавливается.
  10. С помощью цикла SWAP меняются местами элементы a(i, n1) и a(i, n2).
  11. Циклом выводятся все элементы матрицы a(5,5) по строкам.

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


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

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

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