Var m,n,i,j,max,min,imx,imn,jmn,jmx,k,p:integer; s:real; a:array[,]of integer; begin write('Число строк: '); readln(m); write('Число столбцов: '); readln(n); setlength(a,m+1,n+1); for i:=1 to m do begin writeln('Вводите элементы строки ',i,' по одному'); for j:=1 to n do readln(a[i,j]); end; min:=a[1,1]; max:=a[1,1]; imn:=1; jmn:=1; imx:=1; jmx:=1; for i:=1 to m do for j:=1 to n do begin if a[i,j]<min then begin min:=a[i,j]; imn:=i; jmn:=j; end; if a[i,j]>max then begin max:=a[i,j]; imx:=i; jmx:=j; end; end; p:=a[imn,jmn]; a[imn,jmn]:=a[imx,jmx]; a[imx,jmx]:=p; writeln('Измененный массив:'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:5); writeln; end; write('Введите номер строки: '); readln(i); for j:=1 to n do if a[i,j]<0 then begin s:=s+a[i,j]; k:=k+1; end; writeln('Ср.ариф. отр.чисел в строке: ',s/k); end.
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):= ReadInteger2('n, m -> '); var a:= MatrRandom(m,n);Writeln('Исходная матрица:');a.Println; dec(n);dec(m);for var i:= 0 to m do begin swap(a[i, a.Row(i).IndexMin],a[i, n]); swap(a[i, a.Row(i).IndexMax],a[i, 0]); end; Writeln('Конечная матрица:'); a.Print end.
m,n,i,j,max,min,imx,imn,jmn,jmx,k,p:integer;
s:real;
a:array[,]of integer;
begin
write('Число строк: ');
readln(m);
write('Число столбцов: ');
readln(n);
setlength(a,m+1,n+1);
for i:=1 to m do
begin
writeln('Вводите элементы строки ',i,' по одному');
for j:=1 to n do readln(a[i,j]);
end;
min:=a[1,1];
max:=a[1,1];
imn:=1;
jmn:=1;
imx:=1;
jmx:=1;
for i:=1 to m do
for j:=1 to n do
begin
if a[i,j]<min then
begin
min:=a[i,j];
imn:=i;
jmn:=j;
end;
if a[i,j]>max then
begin
max:=a[i,j];
imx:=i;
jmx:=j;
end;
end;
p:=a[imn,jmn];
a[imn,jmn]:=a[imx,jmx];
a[imx,jmx]:=p;
writeln('Измененный массив:');
for i:=1 to m do
begin
for j:=1 to n do write(a[i,j]:5);
writeln;
end;
write('Введите номер строки: ');
readln(i);
for j:=1 to n do
if a[i,j]<0 then
begin
s:=s+a[i,j];
k:=k+1;
end;
writeln('Ср.ариф. отр.чисел в строке: ',s/k);
end.
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):= ReadInteger2('n, m -> ');
var a:= MatrRandom(m,n);Writeln('Исходная матрица:');a.Println;
dec(n);dec(m);for var i:= 0 to m do
begin
swap(a[i, a.Row(i).IndexMin],a[i, n]);
swap(a[i, a.Row(i).IndexMax],a[i, 0]);
end;
Writeln('Конечная матрица:');
a.Print
end.
Пример:
n, m -> 5 6
Исходная матрица:
99 9 30 83 11
89 13 70 50 54
43 59 22 13 89
67 27 48 72 41
63 62 5 58 71
45 35 60 3 95
Конечная матрица:
99 11 30 83 9
89 54 70 50 13
89 59 22 43 13
72 41 48 67 27
71 62 63 58 5
95 35 60 45 3