Расположить столбцы матрицы в соответственности с ростом характеристик - Turbo Pascal
Формулировка задачи:
Характеристикой столбца целочисленной матрицы назовем суму модулей его
отрицательных непарных элементов. Перемещая столбцы данной матрицы, расположить их в
соответственности с ростом характеристик.
Решение задачи: «Расположить столбцы матрицы в соответственности с ростом характеристик»
textual
Листинг программы
var a: Array[Byte, Byte] Of ShortInt; b: Array[Byte] Of Word; i, j, l, n, m: Byte; tempW: Word; tempS: ShortInt; begin Randomize(); repeat Write('Input n='); ReadLn(n); until (n > 0); repeat Write('Input m='); ReadLn(m); until (m > 0); for j := 0 to m - 1 do b[j] := 0; WriteLn('Original array:'); for i := 0 to n - 1 do begin for j := 0 to m - 1 do begin a[i, j] := Random(199) - 99; Write(a[i, j]:4); if ((a[i, j] < 0) And Odd(a[i, j])) then Inc(b[j], Abs(a[i, j])); end; WriteLn; end; for l := 0 to m - 2 do for j := l + 1 to m - 1 do if (b[j] < b[l]) then begin tempW := b[j]; b[j] := b[l]; b[l] := tempW; for i := 0 to n - 1 do begin tempS := a[i, j]; a[i, j] := a[i, l]; a[i, l] := tempS; end; end; WriteLn; for i := 0 to n - 1 do begin for j := 0 to m - 1 do Write(a[i, j]:4); WriteLn; end; end.
Объяснение кода листинга программы
- Создается двумерный массив
a
типаArray[Byte, Byte] Of ShortInt
, который будет использоваться для хранения значений матрицы. - Создается одномерный массив
b
типаArray[Byte] Of Word
, который будет использоваться для хранения суммарных значений каждого столбца. - Создаются три переменные
i
,j
иl
типаByte
, которые будут использоваться для итерации по массивам. - Создается две переменные
tempW
иtempS
типаWord
иShortInt
соответственно, которые будут использоваться для временного хранения значений. - В цикле
repeat
считываются значенияn
иm
с помощью функцииReadLn()
. - В цикле
for
происходит заполнение массиваb
нулями. - Выводится сообщение с исходными значениями матрицы.
- В цикле
for
происходит заполнение массиваa
случайными числами от 0 до 198. - В цикле
for
происходит сравнение текущей строки с предыдущей и перестановка строк при необходимости. - В цикле
for
происходит запись значений массиваa
в файл. - Выводится сообщение с окончательными значениями матрицы.
- В цикле
for
происходит запись значений массиваa
в файл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д