Дана матрица в[n,m].найти в каждой строке матрицы максимальный и минимальный элемент и поменять их местами с первым и последним элементом строки соответственно.(паскаль)
1)uses crt; 2)var a:array[1..20,1..20] of integer; 3)n,m,i,j,mn,mx,jmn,jmx,x,y:integer; 4)begin 5)clrscr; 6)randomize; 7)write('Количество строк n='); 8)readln(n); 9)write('Количество столбцов m='); 10)readln(m); 11)writeln('Исходная матрица:'); 12)for i:=1 to n do 13)begin 14) for j:=1 to m do 15)begin 16)a[i,j]:=random(20); 17)write(a[i,j]:4); 18)end; 19)writeln; 20)end; 21)for i:=1 to n do 22)begin 23)mx:=a[i,1];mn:=a[i,1]; 24)jmx:=1;jmn:=1; 25)for j:=1 to m do 26)begin 27)if a[i,j]>mx then 28)begin 29)mx:=a[i,j]; 30)jmx:=j; 31)end; 32)if a[i,j]<mn then 33)begin 34)mn:=a[i,j]; 35)jmn:=j; 36)end; 37)end; 38)x:=a[i,1]; 39)a[i,1]:=a[i,jmx]; 40)a[i,jmx]:=x; 41)y:=a[i,m]; 42)a[i,m]:=a[i,jmn]; 43)a[i,jmn]:=y; 44)end; 45)writeln('Результат:');46) 46)for i:=1 to n do 47)begin 48)for j:=1 to m do 49)write(a[i,j]:4); 50)writeln; 51)end; 52)readln 53)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.
2)var a:array[1..20,1..20] of integer;
3)n,m,i,j,mn,mx,jmn,jmx,x,y:integer;
4)begin
5)clrscr;
6)randomize;
7)write('Количество строк n=');
8)readln(n);
9)write('Количество столбцов m=');
10)readln(m);
11)writeln('Исходная матрица:');
12)for i:=1 to n do
13)begin
14) for j:=1 to m do
15)begin
16)a[i,j]:=random(20);
17)write(a[i,j]:4);
18)end;
19)writeln;
20)end;
21)for i:=1 to n do
22)begin
23)mx:=a[i,1];mn:=a[i,1];
24)jmx:=1;jmn:=1;
25)for j:=1 to m do
26)begin
27)if a[i,j]>mx then
28)begin
29)mx:=a[i,j];
30)jmx:=j;
31)end;
32)if a[i,j]<mn then
33)begin
34)mn:=a[i,j];
35)jmn:=j;
36)end;
37)end;
38)x:=a[i,1];
39)a[i,1]:=a[i,jmx];
40)a[i,jmx]:=x;
41)y:=a[i,m];
42)a[i,m]:=a[i,jmn];
43)a[i,jmn]:=y;
44)end;
45)writeln('Результат:');46)
46)for i:=1 to n do
47)begin
48)for j:=1 to m do
49)write(a[i,j]:4);
50)writeln;
51)end;
52)readln
53)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 -> 4 5
Исходная матрица:
95 62 11 82
91 98 80 6
21 73 62 70
36 25 89 22
44 42 80 65
Конечная матрица:
95 62 82 11
98 91 80 6
73 70 62 21
89 25 36 22
80 65 44 42