// PascalABC.NET 3.2, сборка 1437 от 03.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); var a:=MatrRandom(n,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var ijv:=a.ElementsWithIndexes.Select(x->(x[0],x[1],abs(x[2]))) .MaxBy(x->x[2]); for var i:=ijv[0] to n-2 do a.SwapRows(i,i+1); for var j:=ijv[1] to n-2 do a.SwapCols(j,j+1); SetLength(a,n-1,n-1); a.Println(4) end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var ijv:=a.ElementsWithIndexes.Select(x->(x[0],x[1],abs(x[2])))
.MaxBy(x->x[2]);
for var i:=ijv[0] to n-2 do a.SwapRows(i,i+1);
for var j:=ijv[1] to n-2 do a.SwapCols(j,j+1);
SetLength(a,n-1,n-1); a.Println(4)
end.
Пример
Количество строк/столбцов в матрице: 5
87 -5 -38 -9 57
31 66 57 -25 40
11 66 99 -79 91
12 95 93 27 -97
33 -94 14 19 39
87 -5 -9 57
31 66 -25 40
12 95 27 -97
33 -94 19 39
program matrica;
const k=10;
type vector=array[1..k]o byte; masiv=aray[1..k] o vector;
var b:masiv;
procedure vved(n:byte; var a masiv);
var i,j:byte;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=0;
for j:=round(n/2) to n do
for i:=n-j+1 to j do
a[i,j]:=random(255);
end;
proceure vuvid(n:byte;:masiv);
var i,j:byte;
begin
for i:=1 to do
begin
for j:=1 to n do
write(a[i,j]:5);
riteln;
end;
end;
procedure rahnok(n:byte; a:masiv);
var i,j:byte; s,l:byte;
begin
l:=0;
for j:=1 to round(n/2) do
for i:=j to (n-j+1) do
if (a[i,j] mod 2=0) then l:=l+1;
writeln('kilkist=' l);