Дан двумерный массив. Найти номера первых положительных элементов каждого столбца.
Uses Crt;
type
mas=array [1..100,1..100] of integer;
mass=array [1..100] of integer;
var
q,w:integer;k:byte;l:mas;S:mass;
procedure vvod(n,m:integer;var A:mas);
var
i,j:integer;
begin
ClrScr;
Randomize;
Textcolor(white);
for i:=1 to n do
begin
for j:=1 to m do
begin
A[i,j]:=Random(100);
A[i,j]:=A[i,j]-random(290);
end;
end;
Textcolor(green);
Writeln('MACCUB:');
For i:=1 to n do
For j:=1 to m do
begin
Write(a[i,j]:5,' ');
If j=m then WriteLn;
end;
end;
procedure obr (n,m:integer;a:mas; var b:mass);
var
i,j,x:integer;
begin
j:=1;
while j<=m do
begin
for i:=n downto 1 do
if A[i,j]>0 then x:=A[i,j];
b[j]:=X;
j:=j+1;x:=0;
end;
end;
procedure vivod (m:integer;b:mass);
var
j:integer;
begin
ClrScr;
for j:=1 to m do
if b[j]=0 then WriteLn('HET POLOZITELNYX B ',j,'Ctolbche')
else Writeln(j,'Ctolbech=',b[j]);
end;
begin
ClrScr;
Writeln('Pazmernost:');
Read(q,w);
Repeat
Writeln('1-BBOD');
Writeln('2-OBRAB');
Writeln('3-vivod');
Writeln('4-exit');
Writeln('vibor:');
Read(k);
case k of
1:vvod(q,w,l);
2:obr(q,w,l,S);
3:vivod(w,S);
4:halt;
end;
until k>4;
Readkey;
end.
ReadKey;
end.
у меня все компилируется(FP)
procedure obr (n,m:integer; CONST a:mas; var b:mass);
Алена большое спасибо...работает... А все таки что эта Const обозначает?
Константа, которую уже нельзя изменить в этой процедуре..
У тебя матрица большая. При передаче без Const, происходит передача по значению, т.е. вся матрица копируется в стек, его размера не хватает, и получаешь Stack Overflow... Поэтому передавай по ссылке.
Отлично.... всем большое спасибо.. понял
у меня все компилируется(FP)
typeЕще возражения будут?
mass = array[1 .. 10] of integer;
procedure x(const a: mass);
var
p: ^mass;
begin
p := @a;
p^[1] := 15;
end;
var
i: integer;
arr: mass;
begin
for i := 1 to 10 do arr[i] := i;
for i := 1 to 10 do
write(arr[i]:4);
writeln;
x(arr);
for i := 1 to 10 do
write(arr[i]:4);
writeln;
end.
Посты получше читай!Нужна была просто определение const и покажи мне ту книгу где показывается твой "образцовый" способ,который кстати барахлит на xp и не работает на vista! Зачем оно тебе надо изобретать велосипед и изменять ее?
Артемий2
А грубить это что, принято, когда нет других аргументов?
Да ладно,Стас, я сам виноват..