program f; //var procedure fm; var i,n:integer; a:array[1..100] of integer; begin read(n); for i:=1 to n do read(a[i]); end; procedure sm; var j,n,i,x,imax:integer; a:array[1..100] of integer; begin for i:=1 to n-1 do imax:=1; for j:=i+1 to n do if a[j]>a[imax] then imax:=j; x:=a[i]; a[i]:=a[imax]; a[imax]:=x end; procedure bm; var i,n:integer; a:array[1..100] of integer; begin for i:=1 to n do read(a[i]); end; begin var i,n,x,j,imax:integer; fm; sm; bm; end.
Это предупреждение, избавиться от него можно, если i:integer прописывать не в разделе описания переменных var, а непосредственно в цикле for i:integer:= 1 to n do
Так? program f; //var procedure fm; var i,n:integer; a:array[1..100] of integer; begin read(n); for i:=1 to n do read(a[i]); end; procedure sm; var j,n,i,x,imax:integer; a:array[1..100] of integer; begin for i:=1 to n-1 do begin imax:=1; for j:=i+1 to n do if a[j]>a[imax] then imax:=j; x:=a[i]; a[i]:=a[imax]; a[imax]:=x end; end; procedure bm; var i,n:integer; a:array[1..100] of integer; begin for i:=1 to n do read(a[i]); end; begin var i,n,x,j,imax:integer; fm; sm; bm; end.
Krab Bark
Искусственный Интеллект
(294333)
Синтаксически верно, компилятор пропустит. А что программа должна делать, знаешь только ты.
m:array [1..50] of integer; begin for i:integer:= 1 to 50 do begin m[i]:= random(101)-100; begin if m[i]>0 then write('Результат',m[i]); end; end; end.
//var
procedure fm;
var i,n:integer;
a:array[1..100] of integer;
begin
read(n);
for i:=1 to n do read(a[i]);
end;
procedure sm;
var j,n,i,x,imax:integer;
a:array[1..100] of integer;
begin
for i:=1 to n-1 do
imax:=1;
for j:=i+1 to n do if a[j]>a[imax]
then imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x
end;
procedure bm;
var i,n:integer;
a:array[1..100] of integer;
begin
for i:=1 to n do read(a[i]);
end;
begin
var i,n,x,j,imax:integer;
fm;
sm;
bm;
end.