Const n=4;
var
a:array[1..n,1..n] of integer;
b:array[1..n*n] of integer;
i,j,k,max,imax,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(51)-25;
write(a[i,j]:4);
end;
writeln;
end;
writeln('Полученный массив:');
k:=0;
for i:=1 to n do
for j:=1 to n do
if a[i,j]>0 then
begin k:=k+1; b[k]:=a[i,j]; write(b[k]:4); end;
writeln;
max:=b[1]; imax:=1;
for i:=1 to k do
if b[i]>max then begin max:=b[i]; imax:=i; end;
writeln('max = b[',imax,'] = ',max);
for i:=imax to k-1 do b[i]:=b[i+1];
b[k]:=0;
writeln('Измененный массив:');
for i:=1 to k-1 do write(b[i]:4);
writeln;
c:=b[2]; b[2]:=b[k-1]; b[k-1]:=c;
writeln('Измененный массив:');
for i:=1 to k-1 do write(b[i]:4);
writeln;
end.
Пример:
Исходный массив:
-8 -1 3 5
22 25 -23 -17
13 3 18 -1
1 -19 13 0
Полученный массив:
3 5 22 25 13 3 18 1 13
max = b[4] = 25
Измененный массив:
3 5 22 13 3 18 1 13
Измененный массив:
3 13 22 13 3 18 1 5