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

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

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

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

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

textual
Листинг программы
  1. DEFINT A, D, I-J, N
  2. OPTION BASE 1
  3. DIM a(5, 5)
  4. CLS
  5. RANDOMIZE TIMER
  6. FOR i = 1 TO 5
  7.    FOR j = 1 TO 5
  8.       a(i, j) = INT((20 * RND) - 10)
  9.       PRINT USING "####"; a(i, j);
  10.    NEXT j
  11.    PRINT
  12. NEXT i
  13.  
  14. n = 0
  15. FOR i = 1 TO 5
  16.    IF (a(i, i) MOD 2) = 0 THEN n = n + 1
  17. NEXT i
  18. IF n = 0 THEN
  19.    PRINT "Diagonal 1: thetnyh thisel NET"
  20.    STOP
  21. END IF
  22.  
  23. n = 0
  24. FOR i = 1 TO 5
  25.    IF (a(i, 6 - i) MOD 2) = 0 THEN n = n + 1
  26. NEXT i
  27. IF n = 0 THEN
  28.    PRINT "Diagonal 2: thetnyh thisel NET"
  29.    STOP
  30. END IF
  31.  
  32. d1 = -32768
  33. d2 = -32768
  34.  
  35. FOR i = 1 TO 5
  36.    IF (a(i, i) MOD 2 = 0) AND (a(i, i) > d1) THEN
  37.       d1 = a(i, i)
  38.       n1 = i
  39.    END IF
  40. NEXT i
  41.  
  42. FOR i = 1 TO 5
  43.    IF (a(i, 6 - i) MOD 2 = 0) AND a(i, 6 - i) > d2 THEN
  44.       d2 = a(i, 6 - i)
  45.       n2 = 6 - i
  46.    END IF
  47. NEXT i
  48.  
  49. IF n1 = n2 THEN
  50.    PRINT "PERESTANOVKA NE NUSHNA"
  51.    STOP
  52. END IF
  53.  
  54. FOR i = 1 TO 5
  55.    SWAP a(i, n1), a(i, n2)
  56. NEXT i
  57.  
  58. PRINT
  59. FOR i = 1 TO 5
  60.    FOR j = 1 TO 5
  61.       PRINT USING "####"; a(i, j);
  62.    NEXT j
  63.    PRINT
  64. NEXT i
  65. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы