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