//PascalABC.NET 3.1 сборка 1200 function Change(condition: boolean; value, default_value: integer): integer; begin if condition then Change := value else Change := default_value; end;
const n = 12;
begin var a := ArrRandom(n, -10, 10); a.Println;
if a.Where(x -> x > 0).Count > a.Where(x -> x < 0).Count then begin var half_max := a.Max / 2; var mult := 1; mult := a.Where(x -> x > half_max).Aggregate((mult, x)-> mult * x); a.Transform(x -> Change((x < 0), mult, x)); end else a.Transform(x -> Change((x < 0), 0, x));
a.Println; end.
temik10808564
07.05.2022
Программа: const n=10; m=3; var a:array[1..n,1..m] of integer; i,j,max,imax:integer; begin Randomize; writeln('Результаты соревнований:'); for i:=1 to n do begin write(i:2,': '); for j:=1 to m do begin a[i,j]:=random(20)+50; write(a[i,j]:4); end; writeln; end; max:=a[1,1]; imax:=1; for i:=1 to n do for j:=1 to m do if a[i,j]>max then begin max:=a[i,j]; imax:=i; end; writeln('Лучший результат = ',max,' Номер чемпиона = ',imax); end.
function Change(condition: boolean; value, default_value: integer): integer;
begin
if condition then
Change := value
else Change := default_value;
end;
const
n = 12;
begin
var a := ArrRandom(n, -10, 10);
a.Println;
if a.Where(x -> x > 0).Count > a.Where(x -> x < 0).Count then begin
var half_max := a.Max / 2;
var mult := 1;
mult := a.Where(x -> x > half_max).Aggregate((mult, x)-> mult * x);
a.Transform(x -> Change((x < 0), mult, x));
end
else
a.Transform(x -> Change((x < 0), 0, x));
a.Println;
end.