Определить сумму четных элементов в каждом столбце и упорядочить номера столбцов по убыванию значений сумм - 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.

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


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

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

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