Двухмерный массив:Сумма, Количество, Произведение, Среднее арифметическое

Как и при решении задача в линейном массиве, в двухмерных массивах тоже иногда нужно находить Сумму, Количество, Произведение, Среднее арифметическое элементов, которые выбираются по некоторым критериям. Рассмотрим задачу нахождения вышеуказанных значений элементов массива, которые меньше 10.
Как это сделать?…

Для начала вспомним, как находить эти значения:
При решении задач на циклы(числовые последовательности) мы пиcали следующее

Summa:=0; Summa:=summa+i;
Count:=0; Count:=count+1;
Multiplay:=1; Multiplay:=Multiplay*i;

В нашем случае, вместо счетчика I мы обращаемся к элементу массива, поэтому наши команды будут записаны по другому:

Summa:=0; Summa:=summa+элемент_массива;
Count:=0; Count:=count+1;
Multiplay:=1; Multiplay:=Multiplay*элемент_массива;

А что бы обратится к элементу массива, мы должны указать имя_массива и индексы_элемента
Снова разобьем нашу задачу на блоки
1. Заполнение массива
2. Начальное значение суммы и её поиск
3. Начальное значение количества и её поиск
4. Начальное значение произведения и его поиск
5. Среднее арифметическое

const N=3;
Var Matrix:array [1..N, 1..N] of integer;
I, J: integer;
Summa, Count:integer;
Multiplay:Longint;
BEGIN
{заполнение массива}
randomize;
 for i := 1 to N do
 begin
 for j := 1 to N do
 begin
 Matrix[i,j] := random(15)+1;
 write(' t[',i,j, ']=', Matrix[i,j]:2);
 end;
 writeln; 
 end;
{нахождение суммы} 
summa:=0;
for i := 1 to N do
 for j := 1 to N do
 begin
 if Matrix[i,j]<10 then summa:=summa+Matrix[i,j];
 end;
{нахождение количества} 
Count:=0;
for i := 1 to N do
 for j := 1 to N do
 begin
 if Matrix[i,j]<10 then Count:=Count+1;
 end; 
{нахождение произведения} 
Multiplay:=1;
for i := 1 to N do
 for j := 1 to N do
 begin
 if Matrix[i,j]<10 then Multiplay:=Multiplay * Matrix[i,j];
 end; 
{вывод результата и среднее арифметическое} 
Writeln('Сумма элементов меньше 10 =',summa);
Writeln('Количество элементов меньше 10 =',Count);
Writeln('Произведение элементов меньше 10 =',Multiplay); 
Writeln('Среднее арифметическое элементов меньше 10 =', summa/Count:2:2); 
 
End.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии