Найти минимум среди сумм элементов диагоналей, параллельных главной диагонали - Pascal ABC

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

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

Найти минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

Решение задачи: «Найти минимум среди сумм элементов диагоналей, параллельных главной диагонали»

textual
Листинг программы
const nmax=10;
var a:array[1..nmax,1..nmax] of integer;
    n,z,i,j,sm,mn:integer;
begin
randomize;
repeat
write('Размер матрицы от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Матрица');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:3);
   end;
  writeln;
 end;
mn:=a[1,1];
writeln('Диагонали, параллельные главной');
for i:=-n+1 to n-1 do
 begin
  sm:=0;
  for j:=1 to n do
  if (j+i>0) and (j+i<=n) then sm:=sm+a[j+i,j];
  writeln('Сумма диагонали ',i+n,'=',sm);
  if sm<mn then mn:=sm;
 end;
writeln('Минимальная сумма=',mn)
end.

Объяснение кода листинга программы

  1. В начале кода объявляются необходимые переменные: nmax, a, n, z, i, j, sm, mn.
  2. Затем происходит инициализация генератора случайных чисел и повторяется цикл, пока не будет задан размер матрицы в диапазоне от 2 до nmax.
  3. Внутри цикла выводится запрос на ввод размера матрицы.
  4. После этого выводится сообщение о том, что введена матрица.
  5. Далее идет цикл, в котором для каждой строки матрицы вычисляется сумма элементов диагонали, параллельной главной.
  6. Если сумма текущей строки меньше предыдущей минимальной суммы, то обновляется значение переменной mn.
  7. По завершении цикла выводится сообщение с минимальной суммой.

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


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

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

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