Дано число р.Если данное число больше нуля то его увеличь в t раз. Если данное меньше нуля то прибавь к нему число k если данное число равно нулю то уменьши его на величину z.
#include <stdio.h> #include "stdafx.h" #include "iostream" #include "conio.h" #include "locale.h" using namespace std; int main() { int x; cin >> x; int a = x; x = (x & 0x55) << 1 | (x & 0xAA) >> 1; x = (x & 0x33) << 2 | (x & 0xCC) >> 2; x = (x & 0x0F) << 4 | (x & 0xF0) >> 4; int s, k; k = 1; s = 0; while (x > 0) { s += k*(x % 2); k *= 10; x /= 2; } int p, o; p = 1; o = 0; while (a > 0) { o += p*(a % 2); p *= 10; a /= 2; } cout << o; cout << "\n" << s; getchar(); getchar(); return 0; } получает случайное целое типа int, выводит его двоичное представление на экран, Изменить порядок следования битов в числе на обратный
Var N,M,R,S:Array[1..20] of integer; i,min,q,k,max:integer; begin Randomize; max:=-200; min:=200; writeln('1 массив'); for i:=1 to 20 do begin N[i]:= random(100)-50;write(N[i]:4);end;writeln; writeln('2 массив'); for i:=1 to 20 do begin M[i]:= random(100)-50; write(M[i]:4);end;writeln; writeln('массив Суммы'); for i:=1 to 20 do begin S[i]:= N[i]+M[i]; if max < S[i] then begin max:=S[i];q:=i;end; write(s[i]:4);end; writeln; writeln('массив Разности'); for i:=1 to 20 do begin R[i]:= N[i]-M[i]; if min > S[i] then begin min := S[i];k:=i;end; write(R[i]:4);end;writeln; writeln('максимальный ' , max, ' его индекс ',q); writeln;writeln('минимальный ' , min, ' его индекс ',k); end.
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "locale.h"
using namespace std;
int main()
{
int x;
cin >> x;
int a = x;
x = (x & 0x55) << 1 | (x & 0xAA) >> 1;
x = (x & 0x33) << 2 | (x & 0xCC) >> 2;
x = (x & 0x0F) << 4 | (x & 0xF0) >> 4;
int s, k;
k = 1;
s = 0;
while (x > 0)
{
s += k*(x % 2);
k *= 10;
x /= 2;
}
int p, o;
p = 1;
o = 0;
while (a > 0)
{
o += p*(a % 2);
p *= 10;
a /= 2;
}
cout << o;
cout << "\n" << s;
getchar();
getchar();
return 0;
}
получает случайное целое типа int, выводит его двоичное представление на экран,
Изменить порядок следования битов в числе на обратный
begin
Randomize;
max:=-200; min:=200;
writeln('1 массив');
for i:=1 to 20 do begin
N[i]:= random(100)-50;write(N[i]:4);end;writeln;
writeln('2 массив');
for i:=1 to 20 do begin
M[i]:= random(100)-50;
write(M[i]:4);end;writeln;
writeln('массив Суммы');
for i:=1 to 20 do begin
S[i]:= N[i]+M[i];
if max < S[i] then begin
max:=S[i];q:=i;end;
write(s[i]:4);end;
writeln;
writeln('массив Разности');
for i:=1 to 20 do begin
R[i]:= N[i]-M[i];
if min > S[i] then begin
min := S[i];k:=i;end;
write(R[i]:4);end;writeln;
writeln('максимальный ' , max, ' его индекс ',q);
writeln;writeln('минимальный ' , min, ' его индекс ',k);
end.