// PascalABC.NET 3.2, сборка 1385 от 14.02.2017
// Внимание! Если программа не работает, обновите версию!
№1
begin
var n:=9;
var a:=MatrRandom(n,n,-20,20); a.Println(4);
Writeln('-'*4*a.ColCount); // отделим вывод
var k:=0;
for var i:=0 to n-1 do
for var j:=0 to n-i-2 do
if a[i,j]>10 then k+=1;
Writeln('k=',k)
end.
Пример
-7 12 -15 10 0 -14 1 13 -13
5 -16 -8 -5 3 4 -1 19 2
20 16 -11 -20 0 8 -6 19 -14
-7 -17 -16 17 9 -13 15 -13 5
12 14 12 -6 18 16 12 -2 -5
6 13 15 14 -9 -6 -6 -6 19
2 -7 -9 -3 -4 1 20 -13 9
-18 9 -4 -15 1 -5 19 8 -16
11 6 18 -7 -11 -18 -7 8 -14
------------------------------------
k=10
№2
begin
var a:=MatrRandom(4,5,0,5); a.Println(2);
Writeln('-'*2*a.ColCount);
var b:=a.Rows.Select(x->x.Sum).Numerate;
foreach var e in b do Writeln(e[0],e[1]:4)
end.
Пример
1 4 0 2 5
1 0 5 5 1
4 3 2 5 0
4 3 2 1 2
----------
1 12
2 12
3 14
4 12
№3
begin
var n:=7;
var a:=MatrRandom(n,n,-50,50); a.Println(4);
Writeln('-'*4*a.ColCount);
(var imax,var jmax):=(0,1);
for var i:=0 to n-1 do
for var j:=i+1 to n-1 do
if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j);
Writeln('a[',imax+1,',',jmax+1,']=',a[imax,jmax])
end.
Пример
19 -37 34 35 -32 24 -41
5 -49 -23 -11 -6 11 -11
46 42 48 45 -20 42 -27
9 -17 -22 6 -31 -3 -28
45 -39 39 11 -26 -3 -46
46 20 21 -17 44 -19 -23
-28 46 16 -20 45 -28 -37
----------------------------
a[3,4]=45
№4
begin
var n:=7;
var a:=MatrRandom(n,n,-50,50); a.Println(4);
Writeln('-'*4*a.ColCount); // отделим вывод
for var i:=0 to n-1 do Swap(a[i,i],a[i,n-i-1]);
a.Println(4)
end.
Пример
11 21 45 -4 -26 18 -50
-41 -49 12 31 -18 -44 -5
-34 0 19 7 -37 -43 -41
-20 -12 1 26 46 -43 -45
22 -40 -36 -25 22 -15 21
36 -37 35 -27 -12 -28 -1
31 -5 -14 47 24 41 33
----------------------------
-50 21 45 -4 -26 18 11
-41 -44 12 31 -18 -49 -5
-34 0 -37 7 19 -43 -41
-20 -12 1 26 46 -43 -45
22 -40 22 -25 -36 -15 21
36 -28 35 -27 -12 -37 -1
33 -5 -14 47 24 41 31