Найти сумму элементов матрицы, лежащих ниже главной диагонали - Pascal ABC
Формулировка задачи:
Листинг программы
- Program PP1;
- const n=4;
- type
- matrix= array [1..4, 1..4] of integer;
- var
- a:matrix;
- S,max:real;
- im,jm,i,j:integer;
- k:byte;
- begin
- randomize;
- writeln('Исходная матрица');
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- a[i,j]:=random(50);
- write(a[i,j]:4);
- end;
- writeln;
- end;
- max:=a[1,1];
- im:=1;
- jm:=1;
- S:=0;
- for i:=1 to 4 do
- begin
- for j:=1 to 4 do
- begin
- if (a[i,j]>max) then
- max:=a[i,j];
- if (i<j) then
- k:=1
- else
- k:=0
- end;
- end;
- if (k=1) then
- begin
- write('наибольший элемент находится выше главной диагонали');
- for i:=1 to 4 do
- begin
- for j:=1 to 4 do
- begin
- if (i>j) then
- S:=S+a[i,j];
- end;
- end;
- write (s);
- write('элемент ниже главной диагонали')
- end;
- end.
Решение задачи: «Найти сумму элементов матрицы, лежащих ниже главной диагонали»
textual
Листинг программы
- const n=4;
- type
- matrix= array [1..4, 1..4] of integer;
- var
- a:matrix;
- S,max:real;
- im,jm,i,j:integer;
- k:byte;
- begin
- randomize;
- writeln('Исходная матрица');
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- a[i,j]:=random(50);
- write(a[i,j]:4);
- end;
- writeln;
- end;
- max:=a[1,1];
- im:=1;
- jm:=1;
- for i:=1 to n do
- for j:=1 to n do
- if a[i,j]>max then
- begin
- max:=a[i,j];
- im:=i;
- jm:=j;
- end;
- writeln('Максимальнвй элемент a[',im,',',jm,']=',max);
- if jm>im then
- begin
- writeln('наибольший элемент находится выше главной диагонали');
- s:=0;
- for i:=2 to n do
- for j:=1 to i-1 do
- s:=s+a[i,j];
- write ('Сумма ниже главной диагонали=',s);
- end
- else write('Максимальный элемент не выше главной диагонали')
- end.
Объяснение кода листинга программы
- Создается константа n, которая определяет размерность матрицы (в данном случае 4).
- Создается тип данных matrix, который представляет собой массив целых чисел размером n на n.
- Создается переменная a, которая инициализируется значением matrix.
- Создаются три переменные S, max и k, которые будут использоваться для поиска максимального элемента и его координат.
- Запускается цикл, который заполняет матрицу случайными числами от 1 до 50.
- После заполнения матрицы выводится максимальное значение, которое пока что равно первому элементу матрицы (a[1,1]).
- Запускается второй цикл, который ищет максимальное значение среди оставшихся элементов матрицы. Если такое значение найдено, то обновляется значение max, а также координаты максимального элемента (im и jm).
- После завершения второго цикла выводится сообщение о том, находится ли максимальное значение выше главной диагонали или нет.
- Если максимальное значение находится выше главной диагонали, то запускается третий цикл, который суммирует все элементы матрицы, лежащие ниже главной диагонали. Результат выводится на экран.
- Если максимальное значение находится ниже главной диагонали, то выводится сообщение об этом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д