begin Randomize; Writeln('Элементы массива'); for i := 1 to n do begin a[i] := Random(61) - 30; Write(a[i]:4); if a[i]>0 then a[i]:=2*a[i] else if a[i]<0 then a[i]:=7 end; Writeln; Writeln('После преобразования'); for i := 1 to n do Write(a[i]:4); Writeln end.
Если нужно достать минимальное число шаров чтобы среди них точно оказалось по одному каждого цвета, то Допустим, первые 5 шаров - синие (всегда рассматривается худший случай) Допустим, следующие 3 шара - красные Тогда все оставшиеся шары будут желтыми, и достаточно достать любой из них 5+3+1=9 ответ: 9 шаров. P.S. Если достать меньшее кол-во, то возможна ситуация, при которой будут не все шары. Например, если достать 8 шаров, возможно что будут только синие и красные. Но если достать 9, то в любом случае среди них будет каждый цвет. Хотя, возможна ситуация, в которой при наличии 3 шаров будут присутствовать шары каждого цвета.
const N = 100;
var a: array [1..N] of integer;
i, count, sum, p: integer;
arith: real;
mult: biginteger;
begin
randomize;
for i:= 1 to N do a[i]:= random(1, 1000);
sum:= 0;
for i:= 1 to N do begin
if a[i] mod 2 = 0 then begin
inc(count);
sum:= sum + a[i];
arith:= sum / count;
end;
if a[i] mod 2 = 0 then begin
p:= a[i] * a[i];
if mult = 0 then mult:= p else mult:= mult * p;
// Произведение капец длинное
if a[i] mod 3 = 0 then a[i]:= i * i;
end
end;
writeln(arith);
writeln(mult);
end.