в задаче требуется ввести массив и в процедуре обнулить те элементы, которые попадают в заданный интервал. как решать мне ясно, но на шаге выполнения процедуры всплывает ошибка 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); <== вот здесь высвеч-ся ошибка 54 begin z[i]:=0; end; begin writeln('vvedite granici diapazona'); for i:=1 to n do begin 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:=1 to n do begin 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; begin for i := 1 to n do if (x[i]>a) and (x[i]<b) then x[i] := 0; end;
torok
20.11.2005 21:20
всем спасибо! ошибка утранилась исправлением по рекомендации volvo
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.