Форум программистов, компьютерный форум CyberForum.ru

В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2. - C++

Восстановить пароль Регистрация
 
sergey7492
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 27
07.03.2011, 16:12     В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2. #1
В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2011, 16:12     В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2.
Посмотрите здесь:

Определить является ли число к степенью 3 C++
C++ Найдите сумму первых n натуральных чисел, которые являются степенью числа 3.
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно степенью двойки C++
C++ Узнать является ли число пятой степенью. Помогите найти ошибку.
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени C++
C++ Определите, является ли число степенью числа 2, и если является, то выведите значение этой степени
C++ Является ли число степенью двойки?
C++ Является ли число степенью двойки

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
07.03.2011, 16:25     В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2. #2
Как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
bool ispow2(int num)
    {
    return (num & (num - 1)) == 0;
    }
 
void printpow2(int * arr,int size)
    {
    for(int i = 0; i < size; ++i)
        if(ispow2(arr[i]))
            std::cout << arr[i] << " ";
    }
 
int main()
    {
    int arr[9] = { 1 ,8 , 20, 32 , 120 , 256, 1029 , 4096 , 2048 };
    printpow2(arr,9);
    std::cout << std::endl;
    }
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 16:36     В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
 
bool isDegreeof2(int one)
{
    return (one&one-1) == 0;
}
 
int main()
{
    std::vector<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    std::copy_if(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "), isDegreeof2);
    return 0;
}
Yandex
Объявления
07.03.2011, 16:36     В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2.
Ответ Создать тему
Опции темы

Текущее время: 16:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru