Найти среднее арифметическое первого столбца массива - PascalABC.NET
Формулировка задачи:
Писал прогу, надо было найти сначала среднее арифметическое первого столбца массива, потом среднее арифметическое первых двух столбцов массива, потом первых трёх столбцов массива, надо использовать процедуры, в итоге вот что у меня получилось :
На 4 строчке снизу пишет : Неверное число параметров процедуры. Вопрос, что мне надо исправить в таком случае? Если кто знает, напишите.
Решение задачи: «Найти среднее арифметическое первого столбца массива»
textual
Листинг программы
const n=3;
type mas=array[1..n,1..n] of real;
procedure srednie_arifmeticheskie(A:mas; k:integer; var sar: real);
var i,j:integer;
begin
sar := 0;
for j:=1 to k do
for i := 1 to n do
sar := sar + A[i, j];
writeln('Среднее арифметическое в столбцах номер 1..',k,'=', sar / (n*k):0:2);
end;
var
A : mas;
i, j: integer;
sar: real;
begin
for i := 1 to n do
for j := 1 to n do
begin
write('A[', i, ',', j, ']=');
readln(A[i, j]);
end;
srednie_arifmeticheskie(A,1,sar);
srednie_arifmeticheskie(A,2,sar);
srednie_arifmeticheskie(A,3,sar);
end.
Объяснение кода листинга программы
- Объявлены константа
nравная 3 и тип массиваmasкак одномерный массив размером от 1 до 3 строк и от 1 до 3 столбцов, заполняемый вещественными числами. - Объявлена процедура
srednie_arifmeticheskieпринимающая массивA, номер столбцаkи переменнуюsarтипаrealдля хранения суммы элементов столбца. - В процедуре объявлены две переменные
iиjдля перебора строк и столбцов массива соответственно. - Переменная
sarинициализируется нулем. - Два вложенных цикла перебирают элементы массива
Aпо строкам и столбцам. - Внутри циклов сумма элементов
sarувеличивается на текущий элемент массиваA[i, j]. - После завершения циклов выводится среднее арифметическое столбца номер от 1 до
kвключительно, равноеsar / (n*k). - Значение среднего арифметического округляется до двух знаков после запятой с помощью функции
:0:2. - В основной части программы объявлены переменные
A,i,jиsarтипаreal. - Для заполнения массива
Aиспользуется два вложенных цикла, в которых сначала выводится приглашение для ввода значения элемента массива, затем это значение считывается функциейreadln(). - После заполнения массива
Aвызывается процедураsrednie_arifmeticheskieдля каждого из трех столбцов с передачей в качестве аргументов номера столбца и переменнойsar. - Результат вычисления среднего арифметического выводится на экран.