Заполните массив случайными числами в интервале {-100,100} и представить элементы так, чтобы все положительные элементы стояли в начале массива, а все отрицательные и нули - в конце. вычислите количество положительных элементов.
Количество информации определяется величиной, показывающей насколько уменьшилось наше незнание в вопросе. 1. Если на светофоре горит желтый свет и мы не знаем, какой свет горел на нем до желтого, то возможны два исхода - зеленый свет и красный свет. Какой бы из них потом не загорелся, мы получим выбор 1 из 2 возможных. А этому соответствует один бит информации. 2. Если на светофоре горит красный свет и это "нормальный светофор", то мы ЗНАЕМ, что после красного света всегда следует желтый. Поэтому при зажигании желтого света наше незнание не меняется, следовательно, мы получаем ноль бит информации.
var
A, Ap, Ao: array [1..14] of Integer;
i, c, cp, co: Integer;
s: Real;
begin
Randomize;
WriteLn ('Mассив:');
for i := Low (A) to High (A) do begin
A [i] := Random (201) - 100;
Write (A [i], ' ');
end;
cp := 0;
co := 0;
for i := Low (A) to High (A) do begin
if A [i] > 0 then begin
cp := cp + 1;
Ap [cp] := A [i];
end else begin
co := co + 1;
Ao [co] := A [i];
end;
end;
c := Low (A);
for i := 1 to cp do begin
A [c] := Ap [i];
c := c + 1;
end;
for i := 1 to co do begin
A [c] := Ao [i];
c := c + 1;
end;
WriteLn;
WriteLn ('Результат: ');
for i := Low (A) to High (A) do begin
Write (A [i], ' ');
end;
WriteLn;
WriteLn ('Количество положительных элементов массива = ', cp);
end.