Упорядочить строки матрицы по возрастанию их наибольших элементов - QBasic

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

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

Как я понимаю надо найти максимальный элемент каждой строки, сравнить их каким-то макаром между собой и затем проранжировать строки по полученным данным. Интересует алгоритм, которым этого можно добиться. Спасибо.

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

textual
Листинг программы
CLS
INPUT "kol-vo strok:", n
INPUT "kol-vo stolbcov", m
DIM x(n, m)
RANDOMIZE TIMER
PRINT "ishodnyj massiv"
FOR i = 1 TO n
FOR j = 1 TO m
x(i, j) = INT(RND * 30)
PRINT x(i, j);
NEXT j
PRINT
NEXT i
PRINT
PRINT
DIM y(n)
FOR i = 1 TO n
y(i) = x(i, 1)
FOR j = 1 TO m
IF x(i, j) > y(i) THEN y(i) = x(i, j)
NEXT
NEXT
FOR i = 1 TO n
FOR j = 2 TO n
IF y(j) < y(j - 1) THEN SWAP y(j), y(j - 1): FOR k = 1 TO m: SWAP x(j, k), x(j - 1, k): NEXT
NEXT
NEXT
PRINT "novyj massiv"
FOR i = 1 TO n
FOR j = 1 TO m
PRINT x(i, j);
NEXT
PRINT
NEXT

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

  1. Сначала пользователю предлагается ввести количество строк и столбцов матрицы.
  2. Затем создается матрица x заданного размера, заполненная случайными числами от 0 до 30.
  3. Далее, в цикле, вычисляется наибольший элемент каждой строки матрицы x и сохраняется в матрице y.
  4. В следующем цикле, если текущий элемент строки больше элемента в той же строке, но в предыдущей строке, то значения этих элементов меняются местами.
  5. Затем, в цикле, проверяется, есть ли в текущей строке элемент, меньший элемента в следующей строке. Если такой элемент есть, то строки меняются местами.
  6. В конце выводится новый массив, отсортированный по возрастанию наибольших элементов.

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


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

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

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