12.01.2019, 22:07
общий
это ответ
Здравствуйте, mustang289!
[code lang=pascal]var rmatr:array[1..10,1..10] of real;
n,m,i,j,imx,jmx,k:byte;
mx,x:real;
begin
repeat
write('Введите количество строк от 3 до 10 n=');
readln(n);
until n in [3..10];
repeat
write('Введите количество столбцов от 3 до 10 m=');
readln(m);
until m in [3..10];
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
rmatr[i,j]:=-9+18*random;
write(rmatr[i,j]:6:2);
if i+j=2 then
begin
mx:=rmatr[1,1];
imx:=1;
jmx:=1;
end
else if abs(rmatr[i,j])>abs(mx) then
begin
mx:=rmatr[i,j];
imx:=i;
jmx:=j;
end;
end;
writeln;
end;
writeln('Максимальный по модулю элемент=',mx:0:2,' в строке ',imx,' в столбце ',jmx);
if n<m then i:=n else i:=m;
repeat
write('Введите номер строки и столбца для обмена от 1 до ',i,' k<>',imx,' k<>',jmx,' k=');
readln(k);
until (k in [1..i])and(k<>imx)and(k<>jmx);
for j:=1 to m do
begin
x:=rmatr[imx,j];
rmatr[imx,j]:=rmatr[k,j];
rmatr[k,j]:=x;
end;
for i:=1 to n do
begin
x:=rmatr[i,jmx];
rmatr[i,jmx]:=rmatr[i,k];
rmatr[i,k]:=x;
end;
writeln('Перестановка строк и столбцов с тем чтобы элемент ',mx:0:2);
writeln('оказался в ячейке [',k,',',k,']');
for i:=1 to n do
begin
for j:=1 to m do
write(rmatr[i,j]:6:2);
writeln;
end;
end.[/code]