Упорядочить столбцы матрицы по убыванию произведений их элементов - 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
- NEXT i
- 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
- 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
- NEXT i
- END
Объяснение кода листинга программы
- Сначала в коде идет объявление переменных:
- n, m - переменные для ввода размеров матрицы
- x(1 TO n, 1 TO m) - матрица размером n на m, элементы которой будут случайными числами от -10 до 10
- y(1 TO m) - вектор размером m, инициализированный единицами
- Затем в цикле дважды выводится начальное состояние матрицы x и вектора y
- Далее в цикле происходит перемножение элементов вектора y с элементами матрицы x
- После этого выводится отсортированный вектор y
- Затем в цикле происходит сортировка строк матрицы x по убыванию значений соответствующих элементов вектора y
- В конце кода выводится отсортированная матрица x Таким образом, данный код выполняет следующие действия:
- Создает матрицу x и вектор y.
- Выводит начальное состояние матрицы x и вектора y.
- Производит перемножение элементов вектора y с элементами матрицы x.
- Выводит отсортированный вектор y.
- Сортирует строки матрицы x по убыванию значений соответствующих элементов вектора y.
- Выводит отсортированную матрицу x.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д