Поменять строки местами в матрице


Дана матрица действительных чисел. Строку, которая содержит максимальный элемент матрицы, поменять со строкой, которая содержит минимальный элемент.

Program zamenastrok;
const n=4;m=4;
var
A:array [1..n,1..m] of real;
tmp:real;
i,j,imin,jmin,imax,jmax:integer;
begin
writeln;
for i:=1 to n do begin
writeln();
for j:=1 to m do begin
A[i,j]:=random(100000)/100;
write(a[i,j],’ ‘);
end;
end;
imin:=1; jmin:=1; imax:=1; jmax:=1;
for i:=1 to n do
for j:=1 to m do begin
if a[i,j]>a[imax,jmax] then begin
imax:=i;
jmax:=j;
end;
if a[i,j]<a[imin,jmin] then begin
imin:=i;
jmin:=j;
end;
end;
for j:=1 to m do begin
tmp:=a[imax,j];
a[imax,j]:=a[imin,j];
a[imin,j]:=tmp;
end;
for i:=1 to n do begin
writeln();
for j:=1 to m do write(a[i,j],’ ‘);
end;
end.

Теги: , , , , ,

Наибольший и наименьший


Дана матрица целых чисел. Найти наибольший и наименьший элемент матрицы и поменять их местами.

Program maxmin;
const n=4;m=4;
var
A:array [1..n,1..m] of real;
i,j,imin,jmin,imax,jmax:integer;
max,min:real;
begin
writeln;
for i:=1 to n do
for j:=1 to m do A[i,j]:=random(100000)/100;
max:=a[1,1];
imax:=1;
jmax:=1;
min:=a[1,1];
imin:=1;
jmin:=1;
for i:=1 to n do begin
writeln();
for j:=1 to m do begin
write(A[i,j]:5:2,’ ‘);
if max<a[i,j] then begin
max:=a[i,j];
imax:=i;
jmax:=j;
end;
if min>a[i,j] then begin
min:=a[i,j];
imin:=i;
jmin:=j;
end;
end;
end;
a[imin,jmin]:=max;
a[imax,jmax]:=min;
writeln();
for i:=1 to n do begin
writeln();
for j:=1 to m do write(A[i,j]:5:2,’ ‘);
end;
end.

Теги: , , ,