Ошибка при объявлении размера массива: "неизвестное имя 'n'" - PascalABC.NET

Формулировка задачи:

program mass_5;
type m=array[1..n] of integer; // <---
 
procedure InAr(var a:m; n:integer); // <---
var i:integer;
begin
for i:=1 to n do
a[i]:=random(100);
end;
 
procedure Pro(var a:m; n:integer);
var i:integer;
begin
for i:=1 to n do
if a[i]<2 then a[i]:=0;
end;
 
procedure Sum(var a:m; n:integer);
var s:integer;
begin
for i:=3 to 7 do
s:=s+a[i];
writeln('Сумма на отрезке [3..7] = ',s);
end;
 
var a:m;
    n:integer;
begin
write('Введите кол-во ячеек массива: ');
read(n);
InAr(a:m,n);
Pro(a:m,n);
Sum(a:m,n);
end.
Пишет: неизвестное имя 'n'.(Выделил) я вроде объявил его в Var, но походу неправильно. подскажите как пофиксить? и если не сложно, объясните, что именно делает данное слово var(красное), почему без употребления его перед "a:m", работа с массивом не происходит?


textual

Код к задаче: «Ошибка при объявлении размера массива: "неизвестное имя 'n'" - PascalABC.NET»

type m=array of integer;
 
procedure InAr(var a:m; n:integer);
var i:integer;
begin
for i:=0 to n-1 do
a[i]:=random(100);
end;
 
procedure Pro(var a:m; n:integer);
var i:integer;
begin
for i:=0 to n-1 do
if a[i]<2 then a[i]:=0;
end;
 
procedure Sum(var a:m; n:integer);
var s:integer;
begin
for var i:=3 to 7 do
s:=s+a[i];
writeln('Сумма на отрезке [3..7] = ',s);
end;
 
var a:m;
n:integer;
begin
write('Введите кол-во ячеек массива: ');
read(n);
setlength(a,n);
InAr(a,n);
Pro(a,n);
Sum(a,n);
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.000 из 5

Источник
Похожие ответы