Найти минимум среди сумм элементов диагоналей, параллельных главной диагонали - 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.
Объяснение кода листинга программы
- В начале кода объявляются необходимые переменные: nmax, a, n, z, i, j, sm, mn.
- Затем происходит инициализация генератора случайных чисел и повторяется цикл, пока не будет задан размер матрицы в диапазоне от 2 до nmax.
- Внутри цикла выводится запрос на ввод размера матрицы.
- После этого выводится сообщение о том, что введена матрица.
- Далее идет цикл, в котором для каждой строки матрицы вычисляется сумма элементов диагонали, параллельной главной.
- Если сумма текущей строки меньше предыдущей минимальной суммы, то обновляется значение переменной mn.
- По завершении цикла выводится сообщение с минимальной суммой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д