156/2=78 (0)
78/2=39 (0)
39/2=19 (1)
19/2=9 (1)
9/2=4 (1)
4/2=2 (0)
2/2=1 (0)
1/2=0 (1)
Остатки от деления записываем в обратном порядке.Получаем: 10011100
156=10011100 (2)
Ответ: 4.
Развёрнутый ответ (решение) на всякий случай :)
Замечание: обработка возможных ошибок исходных данных отсутствует.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in;
ofstream out;
int a = 5, b = 15, c;
int k[b-a+1];
for (int i=0; i<b-a+1; i++) k[i] = 0;
in.open("f.txt");
while(in >> c)
{
k[c-a]++;
}
for (int i=0; i<b-a+1; i++)
cout << i+a << " - " << k[i] << '\n';
in.close();
return 0;
}
Пример:
Содержимое файла f.txt:
7 10 15
8 7 7 10
Результат:
5 - 0
6 - 0
7 - 3
8 - 1
9 - 0
10 - 2
11 - 0
12 - 0
13 - 0
14 - 0
15 - 1
1. N=128 N=2^i i=7 - бит в одном байте. 7*5=35 бит - объем сообщения.
#include <iostream>
<span>#include <iomanip>
</span><span>#include <fstream>
</span><span>using namespace std;
</span>int main() {
<span> int n;
</span><span> float s=0;
</span><span> ifstream f;
</span><span> f.open("input.txt");
</span><span> while(!f.eof()) {
</span><span> f>>n;
</span><span> while (n>0) { s+=n%10; n=n/10; }
</span><span> }
</span><span> f.close();
</span><span> cout<<s<<endl;
</span><span> system("pause");
</span><span> return 0;
</span><span>}
</span>
Const
n = 5;
var
a: array[1..n, 1..n] of integer;
i, j, m, nmax, nmin, jmax, jmin: integer;
begin
Randomize;
writeln('Исходный массив');
for i := 1 to n do
begin
nmax := -100;
nmin := 100;
for j := 1 to n do
begin
a[i, j] := Random(24) - 8;
if nmax < a[i, j] then
begin
nmax := a[i, j];
jmax := j
end;
if nmin > a[i, j] then
begin
nmin := a[i, j];
jmin := j
end;
write(a[i, j]:4)
end;
writeln;
a[i, jmax] := nmin;
a[i, jmin] := nmax
end;
writeln(#13#10, 'Результирующий массив');
for i := 1 to n do
begin
for j := 1 to n do write(a[i, j]:4);
writeln
end
end.
Тестовое решение:
Исходный массив
-4 8 3 7 5
-7 -7 1 8 0
14 0 0 1 -1
14 7 -5 -1 14
7 6 1 -6 14
Результирующий массив
8 -4 3 7 5
8 -7 1 -7 0
-1 0 0 1 14
-5 7 14 -1 14
7 6 1 14 -6