//писал на скорую руку, должно все правильно работать
var
a,plus,minus,d:integer;
c:array[1..50] of integer;
begin
plus:=0;
minus:=0;
for a:=1 to 50 do
c[a]:=random(20)-10;//заполняем массив рандомо
for a:=1 to 50 do//проверям условие
if ((c[a]>0) and (c[a]<>0)) then
plus:=plus + 1
else if ((c[a]<0) and (c[a]<>0)) then
minus:= minus + 1;
Writeln(plus,' ');//кол-во полож
Writeln(minus,' ');//кол-во отриц
if (plus>minus)then
Writeln('Положительных')
<span>else Writeln('Отрицательных');
</span>end.
Функция isSevenHere возвращает истину, если в числе есть семерка, и ложь - если ее нет. В цикле for перебираем все значения от 1 до K (число, введенное с клавиатуры), и выводим на экран только те, где есть семерка.
Код программы:
function isSevenHere(number : integer) : boolean;var digit : integer;begin Result := true; while (number > 0) do begin digit := number mod 10; if (digit = 7) then exit; number := number div 10; end; Result := false;end;
var i,k :integer;begin write('Введите k: '); readln(k);
for i := 1 to k do if (isSevenHere(i) = true) then write(i,' ');end.
1,25 кбайт / 2048 симв = 0,0006103515625 кбайт на символ
0,0006103515625 кбайт на симв * 1024 * 8 = 5 бит на символ
2^5 = 32 символа (букв) мощность алфавита.