// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln; Writeln('Max=',a.ElementsByRow.Max) end.
1) begin var m:=ArrRandom(ReadInteger('n='),-45,90); m.Println; var (a,b):=ReadInteger2('a,b='); m:=m.Where(t->t mod 7<>0).Where(t->not(t.InRange(a,b))).ToArray; m.Println; end.
2) begin var m:=ArrRandom(ReadInteger('n='),-45,90); m.Println; var k:=ReadInteger('k='); var i:=0; while i<>m.Length-1 do begin if (m[i]<0) and (m[i+1]<0) or (m[i]>0) and (m[i+1]>0) then begin SetLength(m,m.Length+1); for var j:=m.Length-2 downto i+1 do m[j+1]:=m[j]; m[i+1]:=k; i+=1; end; i+=1; end; m.Println; end.
// Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln;
Writeln('Max=',a.ElementsByRow.Max)
end.
Пример
Количество строк и столбцов в матрице: 5 8
*** Исходная матрица ***
37 27 -8 -40 -85 -36 62 90
-60 -14 -18 0 -50 77 -19 -36
14 -98 -80 81 -8 83 84 26
-65 74 12 -77 -84 -4 -51 -93
94 34 45 23 -53 -55 55 -45
Max=94
//Версия 3.3, сборка 1611 (06.01.2018)
1)
begin
var m:=ArrRandom(ReadInteger('n='),-45,90); m.Println;
var (a,b):=ReadInteger2('a,b=');
m:=m.Where(t->t mod 7<>0).Where(t->not(t.InRange(a,b))).ToArray; m.Println;
end.
Пример:
n= 10
18 54 30 -38 39 16 -40 68 2 -36
a,b= 18 30
54 -38 39 16 -40 68 2 -36
2)
begin
var m:=ArrRandom(ReadInteger('n='),-45,90); m.Println;
var k:=ReadInteger('k=');
var i:=0;
while i<>m.Length-1 do
begin
if (m[i]<0) and (m[i+1]<0) or (m[i]>0) and (m[i+1]>0)
then begin
SetLength(m,m.Length+1);
for var j:=m.Length-2 downto i+1 do m[j+1]:=m[j];
m[i+1]:=k;
i+=1;
end;
i+=1;
end;
m.Println;
end.
Пример:
n= 10
25 89 -4 5 85 30 37 -3 13 -3
k= 0
25 0 89 -4 5 0 85 0 30 0 37 -3 13 -3