Program znanija;
var A:array[1..10] of integer;
i,k:integer;
begin
for i:=1 to 10 do A[i]:=random(5)-10; // заполняем массив случайными отрицательными числами
for i:=1 to high(A) do
if (A[i] < 0) and (k < 1) then begin A[i] := 0; inc(k); end; // если отрицательное и мы ещё ни разу не заменяли, то заменяем на 0 и ставим флаг в К что уже заменили один раз
for i:=1 to 10 do write(A[i]:3); // выводим массив. Если первое число было отрицательным, то оно будет равно 0
end.