Переставляя строки и столбцы, добиться, чтобы максимальных элемент матрицы переместился в левый верхний угол - QBasic
Формулировка задачи:
Дана матрица целых чисел X(n,m). Переставляя строки и столбцы, добиться, чтобы максимальных элемент матрицы переместился в левый верхний угол. Вывести исходную и полученную матрицы. Значения буквенных переменных задавать с клавиатуры.
Заранее благодарен.
Решение задачи: «Переставляя строки и столбцы, добиться, чтобы максимальных элемент матрицы переместился в левый верхний угол»
textual
Листинг программы
REM Дана матрица целых чисел X(n,m). Переставляя строки и столбцы, REM добиться, чтобы максимальных элемент матрицы переместился в левый верхний угол. REM Вывести исходную и полученную матрицы. Значения буквенных переменных задавать с клавиатуры. REM QBasic, lamed, 17.05.2011 INPUT m INPUT n DIM a(1 TO m, 1 TO n) FOR i = 1 TO m FOR j = 1 TO n INPUT a(i, j) NEXT j NEXT i imax = 1 jmax = 1 FOR i = 1 TO m FOR j = 1 TO n IF a(i, j) > a(imax, jmax) THEN imax = i jmax = j END IF NEXT j NEXT i PRINT "Исходная" FOR i = 1 TO m FOR j = 1 TO n PRINT USING "####"; a(i, j); NEXT j PRINT NEXT i REM меняем строки FOR j = 1 TO n x = a(1, j) a(1, j) = a(imax, j) a(imax, j) = x NEXT j PRINT "Поменяли строки" FOR i = 1 TO m FOR j = 1 TO n PRINT USING "####"; a(i, j); NEXT j PRINT NEXT i REM меняем столбцы FOR i = 1 TO m x = a(i, 1) a(i, 1) = a(i, jmax) a(i, jmax) = x NEXT i PRINT "Поменяли столбцы" FOR i = 1 TO m FOR j = 1 TO n PRINT USING "####"; a(i, j); NEXT j PRINT NEXT i END
Объяснение кода листинга программы
- Задаются исходные размеры матрицы с помощью ввода с клавиатуры.
- Матрица заполняется случайными значениями с помощью ввода с клавиатуры.
- Находится максимальное значение в матрице и его позиции с помощью двух циклов.
- Строки меняются таким образом, чтобы максимальное значение оказалось в левом верхнем углу.
- Столбцы меняются таким образом, чтобы максимальное значение оказалось в левом верхнем углу.
- Выводятся исходная и полученная матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д