// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 begin var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println; for var i:=0 to a.IndexMax-1 do if a[i]<0 then a[i]:=0; a.Println end.
Если лень перебирать вручную, можно воспользоваться программой
var k,l,r,x,f:integer; begin f := 3001; l := 0; r := 65534; x := (l + r) div 2; k := 1; while (x <> f) and (l < r) do begin writeln(k,' ',l,' ',r,' ',x); k := k + 1; if f < x then r := x - 1 else l := x + 1; x := (l + r) div 2 end; writeln(k,' ',l,' ',r,' ',x); end.
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
for var i:=0 to a.IndexMax-1 do
if a[i]<0 then a[i]:=0;
a.Println
end.
Тестовое решение:
n= 15
-35 4 87 60 -93 -23 -95 -24 -19 -52 10 91 -53 -67 -1
0 4 87 60 0 0 0 0 0 0 10 91 -53 -67 -1