Переставляя строки и столбцы, добиться, чтобы максимальный элемент матрицы переместился в левый верхний угол - QBasic

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

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

Помогите пожалуйста составить программу для вот этого задания:

Дана матрица целых чисел размером nхm. Переставляя строки и столбцы, добиться, чтобы максимальный элемент матрицы переместился в левый верхний угол.

Программа нужна в qbasic. Заранее спасибо!

Решение задачи: «Переставляя строки и столбцы, добиться, чтобы максимальный элемент матрицы переместился в левый верхний угол»

textual
Листинг программы
  1. DEFINT A, I-J, M-N
  2. CLS
  3. INPUT "Vvedite M"; m
  4. INPUT "Vvedite N"; n
  5. OPTION BASE 1
  6. DIM a(m, n)
  7. RANDOMIZE TIMER
  8.  
  9. FOR i = 1 TO m
  10.    FOR j = 1 TO n
  11.       a(i, j) = 21 * RND - 10.5
  12.       PRINT USING "####"; a(i, j);
  13.    NEXT j
  14.    PRINT
  15. NEXT i
  16.  
  17. max = a(1, 1)
  18. mi = 1
  19. mj = 1
  20. FOR i = 1 TO m
  21.    FOR j = 1 TO n
  22.       IF a(i, j) > max THEN
  23.          max = a(i, j)
  24.          mi = i
  25.          mj = j
  26.       END IF
  27.    NEXT j
  28.    PRINT
  29. NEXT i
  30. IF (mi = 1) AND (mj = 1) THEN
  31.    PRINT "Perestanovka NE NUSHNA"
  32.    GOTO 100
  33. END IF
  34.  
  35. FOR j = 1 TO n
  36.    SWAP a(1, j), a(mi, j)
  37. NEXT j
  38.  
  39. FOR i = 1 TO m
  40.    SWAP a(i, 1), a(i, mj)
  41. NEXT i
  42.  
  43. FOR i = 1 TO m
  44.    FOR j = 1 TO n
  45.       PRINT USING "####"; a(i, j);
  46.    NEXT j
  47.    PRINT
  48. NEXT i
  49. 100
  50. END

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

  1. Ввод размеров матрицы M и N с помощью функции INPUT.
  2. Инициализация матрицы случайными числами с помощью цикла FOR и функции RND.
  3. Нахождение максимального элемента матрицы и его позиции с помощью цикла FOR и условного оператора IF.
  4. Проверка, является ли максимальный элемент элементом главной диагонали. Если да, то выводится сообщение Perestanovka NE NUSHNA и выполнение программы завершается.
  5. Если максимальный элемент не является элементом главной диагонали, то производится перестановка строк и столбцов с помощью функции SWAP, чтобы переместить максимальный элемент в левый верхний угол.
  6. Вывод матрицы после перестановки с помощью цикла FOR и функции PRINT.

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


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

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

14   голосов , оценка 4.071 из 5

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

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

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