Предмет: Информатика,
автор: Пашааф
Подскажите, где ошибка:
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
Заранее спасибо.
Пашааф:
не не не, это PascalABC.NET
в этой строке: writeln('sum=',summa(sum,a)); Выдаёт ошибку и пишет: Неправильный тип параметров подпрограммы
я не знаю, что с этим делать
хорошо, сработало, но сумму не считает пишет (sum=0)
Я не знал, что ошибок будет несколько
Всё равно спасибо. Только я до того, как задать этот вопрос, переставлял sum and a местами, но ничего не менялось. Очень странно.
Ответы
Автор ответа:
1
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.
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.
Огромнейшее спасибо! Я на этой задаче 3 часа сидел, а оказалось всё так просто.
ну да, я только начал)
Автор ответа:
1
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;
Похожие вопросы
Предмет: Английский язык,
автор: abitayernar
Предмет: МХК,
автор: Аноним
Предмет: Математика,
автор: GolVfdadtehu
Предмет: История,
автор: Oikawa
Предмет: Литература,
автор: данил851