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

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

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

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

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

textual
Листинг программы
  1. DEFINT I-N, X-Y
  2. RANDOMIZE TIMER
  3. CLS
  4. INPUT "N = "; n
  5. INPUT "M = "; m
  6. DIM x(1 TO n, 1 TO m)
  7. DIM y(1 TO m)
  8.  
  9. FOR i = 1 TO n
  10.    FOR j = 1 TO m
  11.       x(i, j) = 20 * RND - 10
  12.       PRINT USING "#####"; x(i, j);
  13.    NEXT j
  14.    PRINT
  15. NEXT i
  16. PRINT
  17.  
  18. FOR j = 1 TO m
  19.    y(j) = 1
  20. NEXT j
  21.  
  22. FOR j = 1 TO m
  23.    FOR i = 1 TO n
  24.      y(j) = y(j) * x(i, j)
  25.    NEXT i
  26. NEXT j
  27.  
  28. FOR j = 1 TO m
  29.    PRINT USING "##### "; y(j);
  30. NEXT j
  31. PRINT
  32. PRINT
  33.  
  34. FOR k = 1 TO m - 1
  35.    FOR j = 1 TO m - 1
  36.       IF y(j) < y(j + 1) THEN
  37.          SWAP y(j), y(j + 1)
  38.          FOR i = 1 TO n
  39.             SWAP x(i, j), x(i, j + 1)
  40.          NEXT i
  41.       END IF
  42.    NEXT j
  43. NEXT k
  44.  
  45. FOR i = 1 TO n
  46.    FOR j = 1 TO m
  47.       PRINT USING "#####"; x(i, j);
  48.    NEXT j
  49.    PRINT
  50. NEXT i
  51. 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

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

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

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