Как посчитать среднее арифметическое в Pascal?

программирование программы C++ pascal делфи

Вот условие: Ввести с клавиатуры три одномерных массива, в каждом из них определить наименьший элемент и определить среднее арифметическое этих элементов. Определение минимального элемента организовать в подпрограмме Procedure с использованием параметров переменных.

Вот моя программа, которая не может посчитать среднее арифметическое :(


Program laba14;
const s=5;

type mas=array[1..s] of integer;
var arr:mas;

var
min_num, min_index: real;
var i:integer; arr1,arr2,arr3:mas; a,b,c,sr:real;

procedure resh(var arr:mas; i,s:integer);

begin
Begin
//массив
writeln('Количество эллементов массива = ',s);
randomize;
for i:= 1 to s do
begin
arr[i]:= random(100);
write (arr[i]:3);

end;
end;
//Минимальное значение первого массива

begin
min_index:= 1;
min_num:= arr[1];

for i:= 2 to s do
if arr[i] < min_num then
begin
min_index:= i;
min_num:= arr[i];
end;

writeln;
write ('Min = ',min_num,' ');
writeln ('position: ', min_index);
end;
end;

begin
resh(arr1,i,s);
min_num:=a;
writeln(a);
readln;
resh(arr2,i,s);
min_num:=b;
readln;
resh(arr3,i,s);
min_num:=c;
readln;
sr:=(a+b+c)/3;
writeln('Среднее арифметическое наименьших элементов = ', sr);

end.

Примечание:
Я решил вставить сччиталку среднего значения в саму процедуру, в место:
***
for i:= 2 to s do
if arr[i] < min_num then
begin
min_index:= i;
min_num:= arr[i];
sum:=sum+min_num;
sr:=sum/
end;
***
Сейчас дописываю среднее значение.

Примечание:
Короче я доделал. всё работает:
Вот кусок где я внёс изменения:

***
for i:= 2 to s do
if arr[i] < min_num then
begin
min_index:= i;
min_num:= arr[i];

end;
sum:=sum+min_num;
sr:=sum/3;
end;
***

Примечание:
Вот программа целиком:

{1. Ввести с клавиатуры три одномерных массива, в каждом из них
определить наименьший элемент и определить среднее
арифметическое этих элементов. Определение минимального элемента
организовать в подпрограмме Procedure с использованием параметров
переменных.
}

Program laba14;
const s=5;

type mas=array[1..s] of integer;
var arr:mas;

var
min_num, min_index: real;
var i:integer; arr1,arr2,arr3:mas; a,b,c,sr,sum:real;

procedure resh(var arr:mas; i,s:integer);

begin
Begin
//массив
writeln('Количество эллементов массива = ',s);
randomize;
for i:= 1 to s do
begin
arr[i]:= random(100);
write (arr[i]:3);

end;
end;
//Минимальное значение первого массива

begin
min_index:= 1;
min_num:= arr[1];


for i:= 2 to s do
if arr[i] < min_num then
begin
min_index:= i;
min_num:= arr[i];

end;
sum:=sum+min_num;
sr:=sum/3;
end;

writeln;
write ('Min = ',min_num,' ');
writeln ('position: ', min_index);
writeln('sum = ',sum);

end;

begin
resh(arr1,i,s);
min_num:=a;
writeln(a);
readln;
resh(arr2,i,s);
min_num:=b;
readln;
resh(arr3,i,s);
min_num:=c;
readln;
writeln('Среднее арифметическое наименьших элементов = ', sr);


end.
Ответы:
Конечно, не может. Направлением присваивания ошиблись в min_num := a. И для b и c тоже.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.