Найти максимум среди четных чисел по диагоналям матрицы - 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
- 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
- FOR i = 1 TO 5
- FOR j = 1 TO 5
- PRINT USING "####"; a(i, j);
- NEXT j
- NEXT i
- END
Объяснение кода листинга программы
- Объявлены переменные: A, D, I-J, N, a(5,5), d1, d2, n1, n2.
- Задана матрица a(5,5) случайными четными числами от -32768 до 32767.
- Если сумма четных чисел по главной диагонали равна нулю, выводится сообщение
Diagonal 1: thetnyh thisel NET
и программа останавливается. - Если сумма четных чисел по побочной диагонали равна нулю, выводится сообщение
Diagonal 2: thetnyh thisel NET
и программа останавливается. - Переменные d1 и d2 инициализируются как -32768.
- Переменные n1 и n2 инициализируются как 0.
- Циклом перебираются элементы главной диагонали. Если элемент четный и больше d1, то d1 присваивается это число, а n1 - номер элемента.
- Циклом перебираются элементы побочной диагонали. Если элемент четный и больше d2, то d2 присваивается это число, а n2 - номер элемента.
- Если n1 = n2, выводится сообщение
PERESTANOVKA NE NUSHNA
и программа останавливается. - С помощью цикла SWAP меняются местами элементы a(i, n1) и a(i, n2).
- Циклом выводятся все элементы матрицы a(5,5) по строкам.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д