1. Современное решение// PascalABC.NET 3.2, сборка 1437 от 03.05.2017// Внимание! Если программа не работает, обновите версию!begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var min:=a.Min; a.Transform(x->x<0?x*min:x); a.Printlnend.
Примерn= 15-34 7 0 -48 4 42 35 14 -47 6 -29 43 46 40 -181632 7 0 2304 4 42 35 14 2256 6 1392 43 46 40 864
2. Популярное до сих пор в школах решение на TurboPascal 7.01 (1983г.)uses Crt;const nn=100;var i,n,min:integer; a:array[1..nn] of integer;begin ClrScr; Randomize; Write('n='); Read(n); min:=100; for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]<min then min:=a[i] end; Writeln; for i:=1 to n do if a[i]<0 then a[i]:=a[i]*min; for i:=1 to n do Write(a[i],' '); Writeln; ReadKeyend.