в задаче требуется ввести массив и в процедуре обнулить те элементы, которые попадают в заданный интервал. как решать мне ясно, но на шаге выполнения процедуры всплывает ошибка 54 - "требуется ввести of" хотя он вроде на месте... вот код.
program massiv2;
var x,i,y: integer;
const n=3;
var a,b,c : array [1..n] of integer;
procedure p (var z: array[i] of integer); <== вот здесь высвеч-ся ошибка 54begin
z[i]:=0;
end;
begin
writeln('vvedite granici diapazona');
for i:=1to n dobegin
read(x,y);
writeln('vvedite elementi massiva a');
read(a[i],b[i],c[i]);
if (a[i]>=x) and (a[i]<=y) then p(a[i]);
end;
for i:=1to n dobegin
writeln('znachnija elementov preobrazovannogo massiva a ',i,' ',a[i]);
end;
end.
volvo
20.11.2005 20:31
torok, нельзя типы конструировать в заголовке процедуры... Опиши тип отдельно...
Кроме этого, что именно ты собрался делать в процедуре? Обнулить 1 элемент массива? Тогда так:
procedure p (var z: integer);
begin
z := 0;
end;
APAL
20.11.2005 20:32
К тому же: Это не Бейсик - в Паскале нельзя создать массив с заданной переменной длинной. (в процедуре - Var ...) Используй констатнту.
klem4
20.11.2005 20:34
Вот так твоя процедура выглядеть наверное должна ...
type
TArray = array[1..10] of integer;
...
procedure Zero(var x : TArray; a,b,n : integer);
var
i : byte;
beginfor i := 1to n doif (x[i]>a) and (x[i]<b) then
x[i] := 0;
end;
torok
20.11.2005 21:20
всем спасибо! ошибка утранилась исправлением по рекомендации volvo
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.