Работа с массивами - Pascal (88409)
Формулировка задачи:
дана действительная квадратная матрица порядка n.Вычислить сумму тех из ее элементов,расположенных на побочной диагонали и выше нее,которые превосходят по величине все элементы,расположенные ниже побочной диагонали.если на побочной диагонали и выше нее нет элементов с указанным свойством,то ответом должно служить сообщение об этом
Решение задачи: «Работа с массивами»
textual
Листинг программы
uses crt; const nmax=20; var a:array[1..nmax,1..nmax] of real; n,i,j,k:integer; s,mx:real; begin clrscr; randomize; repeat write('Размер матрицы ',nmax,' n='); readln(n); until n in [1..nmax]; writeln('Матрица A:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=10*random; write(a[i,j]:5:2); end; writeln; end; writeln; mx:=a[2,n]; for i:=2 to n do for j:=n-i+2 to n do if a[i,j]>mx then mx:=a[i,j]; writeln('Максимальный элемент ниже побочной диагонали=',mx:0:2); s:=0; for i:=1 to n-1 do for j:=1 to n-i+1 do if a[i,j]>mx then begin k:=1; s:=s+a[i,j]; end; if k=0 then write('Выше побочной и на ней нет элементов больше ',mx:0:2) else write('Сумма элементов выше побочной и на ней и больших ',mx:0:2,'=',s:0:2); readln end.
Объяснение кода листинга программы
- Объявлены переменные: n, i, j, k, s, mx, a.
- Задается размер матрицы nmax и инициализируется матрица a случайными значениями.
- Выводится размер матрицы и предлагается ввести размер матрицы n.
- Выводится матрица a.
- Находится максимальный элемент mx ниже побочной диагонали.
- Инициализируется переменная s суммой элементов, больших mx.
- Переменная k инициализируется нулем.
- Если k=0, выводится сообщение, что выше побочной и на ней нет элементов больше mx.
- Если k не равно нулю, выводится сообщение, сумма элементов выше побочной и на ней и больших mx равна s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д