Переставляя строки и столбцы, добиться, чтобы максимальных элемент матрицы переместился в левый верхний угол - 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

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

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

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


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

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

7   голосов , оценка 4.429 из 5
Похожие ответы