
#include <iostream>
#include <algorithm>
#include <numeric>
#include <iterator>
#include <functional>
#include <cstdlib>
using namespace std;
const int SIZE = 20;
int arr[SIZE] = { -1, 1, 5, 2, -4, 0, 7, -2, 5, -9, 3,6,-9,0,-4,4,6,2,13,5 };
int main()
{
cout << "new Array:" << std::endl;
copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
cout << std::endl;
int first= arr[0];
for (int k=0;k<SIZE-2;k++)
arr [k]=arr[k+1];
arr[SIZE-1]=first;
cout << "new Array:" << std::endl;
copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
cout << std::endl;
system("pause");
return 0;}
Чтобы перевести десятичное число в двоичную систему счисления нужно данное число делить на 2, пока оно не поделится без остатка, а далее,записать полученное число в двоичной системе счисления справо на лево.. Сейчас покажу как. Начинаем деление:
1- 519:2=259 (Остаток 1).
2- 259:2=129 (Остаток 1).
3- 129:2=64 (Остаток 1).
4- 64:2=32 (Остаток 0).
5- 32:2=16. (Остаток 0).
6 - 16:2=8 (Остаток 0).
7- 8:2=4 (Остаток 0).
8- 4:2=2. (Остаток 0).
9 - 2:2=1. (Остаток 0).
Записываем: 1000000111.
То есть, 519 в десятичной системе счисления равен 1000000111 в двоичной системе счисления.
В задании нужно узнать сколько единиц в записи числа, получаем что 4. (Вариант 4).