Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program bits;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- var
- X: array[1..10] of word;
- od: array[1..10] of word;
- i:integer;
- j:integer;
- a:array[1..SizeOf(word)*8] of Char;
- procedure printbin(x:Integer);
- var t:Integer;
- begin
- for t:=1 to SizeOf(word)*8 do
- begin
- if (x and 1)=1 then
- a[SizeOf(word)*8-t]:='1'
- else
- a[SizeOf(word)*8-t]:='0';
- x:=x shr 1;
- end;
- for t:=1 to SizeOf(word)*8 do
- begin
- write(a[t]);
- end;
- writeln;
- end;
- // scr = shift cyclic right
- function scr(it:word; n:integer):integer;
- var
- bitsize:integer;
- lo:word;
- res:word;
- begin
- if (it and 2)<>0 then
- begin
- bitsize:=SizeOf(word)*8;
- lo:=(it shl (bitsize - n));
- res:=(it shr n);
- res:=(lo or res);
- scr:=res;
- end
- else
- scr:=it;
- end;
- procedure makemass;
- var
- i:Integer;
- begin
- j:=1;
- for i:=1 to 10 do
- begin
- if odd(X[i])=false then
- begin
- od[j]:=X[i];
- j:=j+1;
- end;
- end;
- writeln('Chetnie elementy: ');
- for i:=1 to j-1 do
- begin
- write(od[i], ' - ');
- printbin(od[i]);
- end;
- end;
- begin
- randomize;
- writeln('Ishodniy massiv:');
- for i:=1 to 10 do
- begin
- X[i]:=random(15000);
- write(X[i],' - ' );
- printbin(X[i]);
- end;
- makemass();
- writeln('Konechniy massiv:');
- for i:=1 to 10 do
- begin
- X[i]:=scr(X[i], 6);
- write(X[i],' - ' );
- printbin(X[i]);
- end;
- makemass();
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement