Вычислить среднее арифметическое тех элементов двумерного массива, которые больше заданного числа d - Free Pascal
Формулировка задачи:
Вычислить среднее арифметическое тех элементов двумерного массива, которые больше заданного числа d. Разделить исходную матрицу на полученное значение.
Решение задачи: «Вычислить среднее арифметическое тех элементов двумерного массива, которые больше заданного числа d»
textual
Листинг программы
const
n=10;
m=8;
var
k,i,j:integer;
d,sum,sr:real;
a:array[1..n,1..m] of real;
begin
write('Введите d: '); readln(d);
K:=0;
Sum:=0;
writeln('Исходный массив:');
For i:=1 to n do
begin
For j:=1 to m do
begin
a[i,j]:=random(n*m);
write(a[i,j]:8:2);
If a[i,j]>d then
Begin
Sum:=sum+a[i,j];
Inc(k);
end;
End;
writeln;
end;
if k=0 then
begin
writeln('Нет таких элементов. Программа завершена.');
exit;
end;
Sr:=sum/k;
writeln('Среднее арифметическое элементов, больших d: ',sr:8:2);
writeln('Преобразованный массив:');
For i:=1 to n do
begin
For j:=1 to m do
begin
A[i,j]:=a[i,j]/sr;
write(a[i,j]:8:2);
end;
writeln;
end;
readln;
end.
Объяснение кода листинга программы
- Объявлены переменные: n, m, k, i, j, d, sum, sr, a, A.
- Введено значение переменной d с помощью функции readln().
- Инициализированы переменные k, Sum.
- Выведен исходный массив a с помощью цикла For и вложенного цикла For.
- Если элемент массива a[i,j] больше d, то к сумме sum прибавляется значение этого элемента, а переменная k увеличивается на единицу.
- Если после прохода по всем элементам массива k=0, то выводится сообщение о том, что таких элементов нет и программа завершается.
- Вычисляется среднее арифметическое элементов, больших d, по формуле sr:=sum/k.
- Выводится среднее арифметическое элементов, больших d, с помощью функции writeln().
- Преобразуется массив a: каждый элемент делится на значение переменной sr.
- Выводится преобразованный массив A с помощью цикла For и вложенного цикла For.
- Программа ожидает ввода с помощью функции readln().