Определить сумму четных элементов в каждом столбце и упорядочить номера столбцов по убыванию значений сумм - Pascal ABC
Формулировка задачи:
Дана квадратная матрица размером n x n, содержащая целые положительные числа. Определить сумму четных элементов в каждом столбце матрицы и упорядочить номера столбцов по убыванию значений найденных сумм с помощью сортировки. Вывести упорядоченный список номеров столбцов и соответствующих им сумм.
Решение задачи: «Определить сумму четных элементов в каждом столбце и упорядочить номера столбцов по убыванию значений сумм»
textual
Листинг программы
const n=10; var a:array[1..n,1..n] of integer; b:array[1..2,1..n] of integer; i,j,k,x:integer; begin randomize; writeln('Матрица'); for i:=1 to n do begin b[1,i]:=i; for j:=1 to n do begin a[i,j]:=1+random(20); write(a[i,j]:4); end; writeln; end; for j:=1 to n do begin b[2,j]:=0; for i:=1 to n do if a[i,j] mod 2=0 then inc(b[2,j],a[i,j]); end; for i:=1 to n-1 do for j:=i+1 to n do if b[2,i]<b[2,j] then for k:=1 to 2 do begin x:=b[k,i]; b[k,i]:=b[k,j]; b[k,j]:=x; end; writeln('Номера столбцов и суммы четных элементов в них в порядке убывания'); for i:=1 to 2 do begin for j:=1 to n do write(b[i,j]:4); writeln; end; end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- n - количество строк в матрице (равное 10 в данном случае);
- a - матрица размером n x n, в которой каждый элемент представляет собой целое число;
- b - матрица размером 2 x n, в которой каждый элемент также представляет собой целое число;
- i, j, k - индексы строк и столбцов матрицы;
- x - временная переменная для хранения значения элемента матрицы. Код начинается с инициализации переменной n и объявления массива a и b. Затем происходит заполнение матрицы a случайными числами от 1 до 20. Каждая строка матрицы выводится на экран с помощью функции write. Далее происходит заполнение матрицы b. Во втором столбце каждой строки матрицы b хранятся нули. Затем, с помощью цикла for, происходит проверка каждого элемента матрицы a на четность. Если элемент четный, то его значение увеличивается на единицу и сохраняется в соответствующем элементе матрицы b. После этого происходит сортировка матрицы b по убыванию значений сумм четных элементов. Для этого используется вложенный цикл for. Затем происходит вывод на экран номеров столбцов и сумм четных элементов в них в порядке убывания. Каждый столбец выводится на экран с помощью функции write. В конце кода происходит вывод на экран матрицы b в том же порядке, что и при ее заполнении. Каждая строка матрицы выводится на экран с помощью функции write.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д