Упорядочить столбцы матрицы по убыванию произведений их элементов - QBasic (27568)

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

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

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

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

textual
Листинг программы
DEFINT I-N, X-Y
RANDOMIZE TIMER
CLS
INPUT "N = "; n
INPUT "M = "; m
DIM x(1 TO n, 1 TO m)
DIM y(1 TO m)
 
FOR i = 1 TO n
   FOR j = 1 TO m
      x(i, j) = 20 * RND - 10
      PRINT USING "#####"; x(i, j);
   NEXT j
   PRINT
NEXT i
PRINT
 
FOR j = 1 TO m
   y(j) = 1
NEXT j
 
FOR j = 1 TO m
   FOR i = 1 TO n
     y(j) = y(j) * x(i, j)
   NEXT i
NEXT j
 
FOR j = 1 TO m
   PRINT USING "##### "; y(j);
NEXT j
PRINT
PRINT
 
FOR k = 1 TO m - 1
   FOR j = 1 TO m - 1
      IF y(j) < y(j + 1) THEN
         SWAP y(j), y(j + 1)
         FOR i = 1 TO n
            SWAP x(i, j), x(i, j + 1)
         NEXT i
      END IF
   NEXT j
NEXT k
 
FOR i = 1 TO n
   FOR j = 1 TO m
      PRINT USING "#####"; x(i, j);
   NEXT j
   PRINT
NEXT i
END

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

  1. Сначала в коде идет объявление переменных:
    • n, m - переменные для ввода размеров матрицы
    • x(1 TO n, 1 TO m) - матрица размером n на m, элементы которой будут случайными числами от -10 до 10
    • y(1 TO m) - вектор размером m, инициализированный единицами
  2. Затем в цикле дважды выводится начальное состояние матрицы x и вектора y
  3. Далее в цикле происходит перемножение элементов вектора y с элементами матрицы x
  4. После этого выводится отсортированный вектор y
  5. Затем в цикле происходит сортировка строк матрицы x по убыванию значений соответствующих элементов вектора y
  6. В конце кода выводится отсортированная матрица x Таким образом, данный код выполняет следующие действия:
  7. Создает матрицу x и вектор y.
  8. Выводит начальное состояние матрицы x и вектора y.
  9. Производит перемножение элементов вектора y с элементами матрицы x.
  10. Выводит отсортированный вектор y.
  11. Сортирует строки матрицы x по убыванию значений соответствующих элементов вектора y.
  12. Выводит отсортированную матрицу x.

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


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

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

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