procedure SortMin(var a: MyArr;n:Integer); var i,j,x:integer; begin; for I:=1 to n do for j:=1 to n-1 do if a[j]<a[j+1] then begin x:=a[j+1]; a[j+1]:=a[j]; a[j]:=x; end; end;
begin; randomize; k:=0; writeln('First array:'); for i:=1 to 10 do begin; ar[i]:=random(100); write(ar[i]:4); if (ar[i]>10) and (ar[i] mod 3=0) then begin; inc(k); ar2[k]:=ar[i]; end; end; if k=0 then begin; writeln('Нет подходящих элементов'); exit; end; SortMin(ar2,k); writeln; writeln('Final array:'); for i:=1 to k do write(ar2[i]:4); end.
Целая часть от деления Остаток от деления12 div 2 = 6 12 mod 2 = 06 div 2 = 3 6 mod 2 = 03 div 2 = 1 3 mod 2 = 11 div 2 = 0 1 mod 2 = 1Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 1100 12 = 1100|2 Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения. 0.75*2 = 1.5 (целая часть 1) 0.5*2 = 1 (целая часть 1) 0*2 = 0 (целая часть 0) 0*2 = 0 (целая часть 0) Получаем число в 2-ой системе счисления: 1100 0.75 = 1100|2 В итоге получаем число: 1100.1100|2
n=10;
type
MyArr=array[1..10] of integer;
var ar:MyArr;
ar2:MyArr;
i,k:integer;
procedure SortMin(var a: MyArr;n:Integer);
var i,j,x:integer;
begin;
for I:=1 to n do
for j:=1 to n-1 do
if a[j]<a[j+1] then
begin
x:=a[j+1];
a[j+1]:=a[j];
a[j]:=x;
end;
end;
begin;
randomize;
k:=0;
writeln('First array:');
for i:=1 to 10 do
begin;
ar[i]:=random(100);
write(ar[i]:4);
if (ar[i]>10) and (ar[i] mod 3=0) then
begin;
inc(k);
ar2[k]:=ar[i];
end;
end;
if k=0 then
begin;
writeln('Нет подходящих элементов');
exit;
end;
SortMin(ar2,k);
writeln;
writeln('Final array:');
for i:=1 to k do
write(ar2[i]:4);
end.
12 = 1100|2
Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения.
0.75*2 = 1.5 (целая часть 1)
0.5*2 = 1 (целая часть 1)
0*2 = 0 (целая часть 0)
0*2 = 0 (целая часть 0)
Получаем число в 2-ой системе счисления: 1100
0.75 = 1100|2
В итоге получаем число: 1100.1100|2