Найти максимум среди четных чисел по диагоналям матрицы - 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
Объяснение кода листинга программы
- Объявлены переменные: 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) по строкам.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д