Подскажите, где ошибка: program mas2; const n=5; type mas=array[1..n]of real; var ...

0 голосов
145 просмотров

Подскажите, где ошибка:

program mas2;
const
n=5;
type
mas=array[1..n]of real;
var
sr,sum:real;
i:integer;
x:mas;

procedure vvod_rand(var A:mas; n: integer);
var i:integer;
begin
for i:=1 to n do
begin

a[i]:=random(-10,30);
write(a[i],' ');
end;
writeln;
end;

var a:mas;

function sred(var x:mas; s:real):real;
var i:integer;
begin
s:=0;
for i:=1 to n do
s:=x[i]+s;
s:=s/5;
sred:=s
end;

function summa(var x:mas; su:real):real;
var i:integer;
begin
su:=0;
for i:=1 to n do su:=su+x[i];
writeln('sum=',sum);
end;

begin
vvod_rand(a,n);
writeln('sum=',summa(sum,a));
writeln('sred=',sred(a,sr));
end.

Написал на PascalABC.NET

Заранее спасибо.


Информатика (120 баллов) | 145 просмотров
0

не не не, это PascalABC.NET

0

в этой строке: writeln('sum=',summa(sum,a)); Выдаёт ошибку и пишет: Неправильный тип параметров подпрограммы

0

я не знаю, что с этим делать

0

хорошо, сработало, но сумму не считает пишет (sum=0)

0

Я не знал, что ошибок будет несколько

0

Всё равно спасибо. Только я до того, как задать этот вопрос, переставлял sum and a местами, но ничего не менялось. Очень странно.

Дано ответов: 2
0 голосов
Правильный ответ

Program mas2;
const
  n=5;
type
  mas=array[1..n]of real;
var
  sr,sum:real;
  i:integer;
  x:mas;

procedure vvod_rand(var A:mas; n: integer);
var
  i:integer;
begin
  for i:=1 to n do
  begin
    a[i]:=random(-10,30);
    write(a[i],' ');
  end;
  writeln;
end;

function sred(var x:mas):real;
var
  i:integer;
  s:real;
begin
  s:=0;
  for i:=1 to n do s:=x[i]+s;
  s:=s/5;
  sred:=s
end;

function summa(var x:mas):real;
var
  i:integer;
  su:real;
begin
  su:=0;
  for i:=1 to n do su:=su+x[i];
  summa:=su;
end;

var a:mas;

begin
  vvod_rand(a,n);
  writeln('sum=',summa(a));
  writeln('sred=',sred(a));
end.

(2.0k баллов)
0

Огромнейшее спасибо! Я на этой задаче 3 часа сидел, а оказалось всё так просто.

0

ну да, я только начал)

0 голосов

function summa(var x: mas; su: real): real;

var

i: integer;

begin

su := 0;

for i := 1 to n do

su := su + x[i];

summa:=su;

writeln('sum=', su);

end;

(2.5k баллов)