Дан целочисленный массив с количеством элементов n. Напечатать те его элементы, индексы которых являются степенями двойки(1,2,4,8,16,..)
Помогите решить в С++, пожалуйста

Ответы

Ответ дал: Nove1990
0
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    using namespace std;
    const int n = 10;  //количество элементов массива
    int Arr[n];

    //как-нибудь заполняем массив
    srand(time(0));
    int i;
    for (i = 0; i < n; ++i)
        Arr[i] = rand() % (n * n) + 1;

    //выведем его на экран
    for (i = 0; i < n; ++i)
        cout << Arr[i] << "   ";
    cout << endl;

    int p;
    for (i = 1; i < n; ++i)
    {
        p = i;
        while (p % 2 == 0)
            p /= 2;
        if (p == 1)
            cout << "Arr[" << i << "] = " << Arr[i] << endl;
    }
    cout << endl;
    return 0;
}

Вас заинтересует