Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ShadowThunder
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 23
#1

Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе - C++

16.05.2013, 21:54. Просмотров 548. Ответов 9
Метки нет (Все метки)

Помогите плиз)) Нужно срочно на завтра написать прогу на С++. Если можно с блок-схемой. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 21:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе (C++):

Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе - C++
Здравствуйте, уважаемые мастера программирования. Нуждаюсь в вашей помощи. Написать функцию, которая для заданного целого числа Х...

Написать функцию, которая для заданного числа Х вычисляет количество единичных битов в этом числе - C++
Написать функцию, которая для заданного числа Х вычисляет количество единичных битов в этом числе, используя побитовые операции и функции...

Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе. - C++
Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе. Проблема состоит в том, что все время...

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

Написать функцию, которая определяет количество вхождений в СПИСОК елемента, заданого пользователем. - C++
Ребята помогите пожалуйста, срочно надо!!!!!! Есть програма, но надо что бы она работала со списками!!!! Вот задание: Написать функцию,...

Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) - C++
Как подсчитать кол-во парных нулевых битов, расположенных строго между единичными?

9
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
16.05.2013, 22:22 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main ()
{
    unsigned x = 24487; //0000 0000 0000 0000 0101 1111 1010 0111
    unsigned right = 2, left = 1, i = 0, pair_count = 0;
 
    while ( ++i != 32 ) {
        pair_count += ( !( right & x ) && !(left & x) ) ? 1 : 0;
        right <<= 1;
        left <<= 1;
    }
 
    cout << pair_count;
    return 0;
}
1
ShadowThunder
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 23
13.06.2013, 19:00  [ТС] #3
Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе с помощью функций пользователя. Заранее спасибо.
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
13.06.2013, 19:02 #4
Приведите пример работы программы, на примере x = 5
1
ShadowThunder
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 23
13.06.2013, 19:10  [ТС] #5
Число 5 надо подать в бинарной системе (101), то есть результат будет 0. Если, например, число 28 (11100), то результат будет 1 (00).
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.06.2013, 19:19 #6
а для числа 10001?

C++
1
2
3
4
int Count(unsigned a)
{
   return a ? !(a & 3) + Count(a >> 1) : 0;
}
1
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
13.06.2013, 19:34 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main ()
{
    unsigned x = 23344; //0000 0000 0000 0000 0101 1011 0011 0000
    unsigned right = 2, left = 1, i = 0, pair_count = 0;
 
    while ( ++i != 32 ) {
        pair_count += ( !( right & x ) && !(left & x) ) ? 1 : 0;
        right <<= 1;
        left <<= 1;
    }
 
    cout << pair_count;
    return 0;
}
Добавлено через 3 минуты
http://ideone.com/X629iH
1
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.06.2013, 19:37 #8
Olivеr, вряд ли незначащие нулевые биты тоже надо учитывать. в этом случае разрядность типа данных надо указывать в задании.
0
ShadowThunder
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 23
13.06.2013, 19:59  [ТС] #9
Спасиба, но можно ли как то это сделать через функции пользователя?
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.06.2013, 20:00 #10
Цитата Сообщение от ShadowThunder Посмотреть сообщение
Спасиба, но можно ли как то это сделать через функции пользователя?
А чем функция Count() не функция пользователя???
1
13.06.2013, 20:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2013, 20:00
Привет! Вот еще темы с ответами:

Написать функцию, которая возвращает количество нулевых бит в символах строки - C++
Есть срочная задача: написать функцию, которая возвращает количество нулевых бит в символах строки (не считая нулевой символ в конце...

Написать функцию, которая вычисляет количество элементов массива, лежащих в диапозоне от А до В - C++
Дан n-мерный массив. Написать функцию, которая вычисляет количество элементов массива, лежащих в диапозоне от А до В.

Написать функцию, которая возвращает количество цифр в целом числе - C++
Помогите, что то я не могу понять задачи, даже не знаю с чего начать)))) 2. Написать функцию, которая возвращает количество цифр в целом...

Составить и использовать функцию, которая определяет количество цифр одного целого числа - C++
В массиве целых чисел найти количество чисел с наименьшим ко-личеством цифр. Например, в массиве {123, 34, 56, 1000, 20, 55000, 777, 11}...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.