Цитата:
Сообщение от Vikki
7. Удалить все строки и столбцы, на пересечении которых стоят отрицательные элементы.
|
Код:
Type
Num=Record
X:Integer;
Y:Integer;
end;
Var
M,N,i,j,p,Q:Integer;
Cross:Array[1..128] of Num;
A:Array[1..8,1..16] of Integer;
B1,B2:boolean;
Begin
M:=8;
N:=16;
Q:=0;
Randomize;
Writeln('Initial:');
For i:=1 to M do
begin
For j:=1 to N do
begin
A[i,j]:=95-Random(100);
write(a[i,j]:4);
if A[i,j]<0 then
begin
Inc(Q);
Cross[Q].X:=i;
Cross[Q].Y:=j;
end;
end;
Writeln;
end;
Writeln;
Writeln('Transformed:');
For i:=1 to M do
begin
B1:=True;
for p:=1 to Q do
if i=Cross[p].X then B1:=False;
if B1 then
for j:=1 to N do
begin
B2:=True;
for p:=1 to Q do
if j=Cross[p].Y then B2:=False;
if B2 then write(A[i,j]:4);
end;
If B1 then Writeln;
end;
Readln
End.