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

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

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

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

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

textual
Листинг программы
  1. REM Дана матрица целых чисел X(n,m). Переставляя строки и столбцы,
  2. REM добиться, чтобы максимальных элемент матрицы переместился в левый верхний угол.
  3. REM Вывести исходную и полученную матрицы. Значения буквенных переменных задавать с клавиатуры.
  4. REM QBasic, lamed, 17.05.2011
  5. INPUT m
  6. INPUT n
  7. DIM a(1 TO m, 1 TO n)
  8. FOR i = 1 TO m
  9.   FOR j = 1 TO n
  10.     INPUT a(i, j)
  11.   NEXT j
  12. NEXT i
  13.  
  14. imax = 1
  15. jmax = 1
  16. FOR i = 1 TO m
  17.   FOR j = 1 TO n
  18.     IF a(i, j) > a(imax, jmax) THEN
  19.       imax = i
  20.       jmax = j
  21.     END IF
  22.   NEXT j
  23. NEXT i
  24.  
  25. PRINT "Исходная"
  26. FOR i = 1 TO m
  27.   FOR j = 1 TO n
  28.     PRINT USING "####"; a(i, j);
  29.   NEXT j
  30.   PRINT
  31. NEXT i
  32.  
  33. REM меняем строки
  34. FOR j = 1 TO n
  35.   x = a(1, j)
  36.   a(1, j) = a(imax, j)
  37.   a(imax, j) = x
  38. NEXT j
  39.  
  40. PRINT "Поменяли строки"
  41. FOR i = 1 TO m
  42.   FOR j = 1 TO n
  43.     PRINT USING "####"; a(i, j);
  44.   NEXT j
  45.   PRINT
  46. NEXT i
  47.  
  48. REM меняем столбцы
  49. FOR i = 1 TO m
  50.   x = a(i, 1)
  51.   a(i, 1) = a(i, jmax)
  52.   a(i, jmax) = x
  53. NEXT i
  54.  
  55. PRINT "Поменяли столбцы"
  56. FOR i = 1 TO m
  57.   FOR j = 1 TO n
  58.     PRINT USING "####"; a(i, j);
  59.   NEXT j
  60.   PRINT
  61. NEXT i
  62.  
  63. END

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

  1. Задаются исходные размеры матрицы с помощью ввода с клавиатуры.
  2. Матрица заполняется случайными значениями с помощью ввода с клавиатуры.
  3. Находится максимальное значение в матрице и его позиции с помощью двух циклов.
  4. Строки меняются таким образом, чтобы максимальное значение оказалось в левом верхнем углу.
  5. Столбцы меняются таким образом, чтобы максимальное значение оказалось в левом верхнем углу.
  6. Выводятся исходная и полученная матрицы.

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


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

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

7   голосов , оценка 4.429 из 5

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

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

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