При выполнении оператора цикла-ДЛЯ после каждого выполнения тела цикла происходит ...
1)увеличение служебного слова do на единицу
2)уменьшение служебного слова do на единицу
3)увеличение на единицу параметра цикла
4)увеличение на единицу оператора цикла
begin
SeqGen(73,3,x->x+8).Tabulate(x->sin(x)+1).Println(NewLine)
end.
Результат
(3,1.14112000805987)
(11,9.79344929652459E-06)
(19,1.14987720966295)
(27,1.9563759284045)
(35,0.571817330503849)
(43,0.168225257371402)
(51,1.67022917584337)
(59,1.63673800713914)
(67,0.144480021024678)
(75,0.61221836459057)
(83,1.96836446110019)
(91,1.10598751175116)
(99,0.000793165813646302)
(107,1.18478174456067)
(115,1.94543533402477)
(123,0.540096509310409)
(131,0.1883966128633)
(139,1.69608013122474)
(147,1.60904402188329)
(155,0.126688017225352)
(163,0.645089824155065)
(171,1.97659086794357)
(179,1.07072216723899)
(187,0.00282897660785097)
(195,1.21945466799406)
(203,1.93330970016696)
(211,0.508952146149537)
(219,0.209585258506819)
(227,1.72105859707063)
(235,1.58058664098964)
(243,0.109990651143723)
(251,0.678406139707496)
(259,1.98359318394668)
(267,1.03536817725618)
(275,0.00611467408027389)
(283,1.25385251979023)
(291,1.92001422549596)
(299,0.47842327838163)
(307,0.231764635762553)
(315,1.74513326455741)
(323,1.55140153386739)
(331,0.0944088518029327)
(339,0.712125551491514)
(347,1.98936263217831)
(355,0.999969855646641)
(363,0.0106461398305572)
(371,1.28793218456003)
(379,1.9055655749933)
(387,0.448548171885085)
(395,0.254906944275786)
(403,1.76827395771179)
(411,1.52152528208153)
(419,0.0799621499383943)
(427,0.746205794496806)
(435,1.9938919810239)
(443,0.96457157182102)
(451,0.0164176939717596)
(459,1.32165094574031)
(467,1.88998185906867)
(475,0.419364273092607)
(483,0.278983176722363)
(491,1.79045167123434)
(499,1.49099533350029)
(507,0.0666686535173281)
(515,0.780604151435442)
(523,1.9971755532499)
(531,0.929217695142592)
(539,0.0234221022497116)
(547,1.35496653913623)
(555,1.87328261085979)
(563,0.390908162054621)
(571,0.303963155167414)
(579,1.81163860685574)
procedure MatPrint(a:array[,] of integer);
begin
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to Length(a,1)-1 do Print(a[i,j]);
Writeln
end
end;
function MatMax(a:array[,] of integer):integer;
begin
Result:=-100; // мeньше меньшего в матрице
for var i:=0 to Length(a,0)-1 do
for var j:=0 to Length(a,1)-1 do
if a[i,j]>Result then Result:=a[i,j]
end;
procedure MatReplaceNegative(a:array[,] of integer; value:integer);
begin
for var i:=0 to Length(a,0)-1 do
for var j:=0 to Length(a,1)-1 do
if a[i,j]<0 then a[i,j]:=value
end;
begin
var n,m:integer;
Write('Задайте число строк и столбцов матрицы: ');
Read(n,m);
var a:=MatrixRandom(n,m,-99,99);
Writeln('Исходная матрица');
MatPrint(a);
var mx:=MatMax(a);
MatReplaceNegative(a,mx);
Writeln('Результирующая матрица');
MatPrint(a)
end.
Тестовое решение
Задайте число строк и столбцов матрицы: 5 8
Исходная матрица
24 34 -33 63 -39 -33 96 -65
77 -98 0 31 98 20 36 -59
78 23 10 -44 64 -15 36 -48
86 -99 -8 -4 -12 -65 14 86
-37 0 54 74 -85 -81 -5 -21
Результирующая матрица
24 34 98 63 98 98 96 98
77 98 0 31 98 20 36 98
78 23 10 98 64 98 36 98
86 98 98 98 98 98 14 86
98 0 54 74 98 98 98 98