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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.96
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
#1

Подсчёт единиц и нулей в двоичном коде - C++

17.11.2011, 14:10. Просмотров 4538. Ответов 12
Метки нет (Все метки)

Просьба помочь написать программу на языке C++, которая определяет и выводит на экран количество единиц и нулей в двоичном представлении числа.
Т.е. я ввожу десятичное число, а программа должна переделать его в двоичное и посчитать количество 0 и 1...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 14:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчёт единиц и нулей в двоичном коде (C++):

Подсчёт нулей в двоичном коде - C++
Есть код который возвращает количество единиц в двоичном представлении целого числа, как переделать что бы он считал количество нулей ? ...

Определить, каких цифр больше в двоичном представлении натурального числа N-нулей и единиц - C++
Определить, каких цифр больше в двоичном представлении натурального числа N-нулей и единиц. Циклический алгоритм. Код не надо, только...

Определить, каких цифр больше в двоичном представлении натурального числа N – нулей или единиц - C++
Определить, каких цифр больше в двоичном представлении натурального числа N – нулей или единиц.

Как определить сколько единиц в двоичном коде символа? - C++
как определить сколько единиц в двоичном коде символа? (С\С++)

Написать программу на языке С, которая рекурсивно вычисляет количество единиц в двоичном коде заданного пользователем натурального числа - C++
помогите плиз Добавлено через 12 минут Операция n := n & (n - 1) уничтожает крайнюю справа единицу в бинарном представлении числа n....

Получить все n-элементные последовательности из нулей и единиц содержащие ровно m единиц (m<=n) - C++
Получить все n-элементные последовательности из нулей и единиц содержащие ровно m единиц (m&lt;=n) Помогите, пожалуйста

12
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
17.11.2011, 14:19 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    unsigned n, no, nz;
 
    while (printf("enter a number:\n") > 0 && scanf("%ud", &n) == 1 && n) {
        for (no = 0, nz = 0; n > 0; n >>= 1)
            (n & 1) ? no++ : nz++;
        printf("1s: %d\n0s: %d\n", no, nz);
    }
    return 0;
}
1
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:23  [ТС] #3
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    unsigned n, no, nz;
 
    while (printf("enter a number:\n") > 0 && scanf("%d", &n) == 1 && n) {
        for (no = 0, nz = 0; n > 0; n >>= 1)
            (n & 1) ? no++ : nz++;
        printf("1s: %d\n0s: %d\n", no, nz);
    }
    return 0;
}
спасибо большое, но можно ли поподробнее расписать, например черезе cin и cout, просто некоторые операции непонятны
0
Байт
Нарушитель
Эксперт C
16679 / 10941 / 1679
Регистрация: 24.12.2010
Сообщений: 21,329
17.11.2011, 14:29 #4
Цитата Сообщение от azoor Посмотреть сообщение
спасибо большое, но можно ли поподробнее расписать, просто некоторые операции непонятны
Вообще-то вежливые мальчики пишут, что именно непонятно. Тут у нас с экстрасенсами туговато, и угадать, что ты понял, а что нет - трудновато.
0
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:31  [ТС] #5
Цитата Сообщение от Байт Посмотреть сообщение
Вообще-то вежливые мальчики пишут, что именно непонятно. Тут у нас с экстрасенсами туговато, и угадать, что ты понял, а что нет - трудновато.
ну я попросил расписать через cin и cout т.к. операции printf и scanf мне не известны, хотя знаю, что выполняют ту же функцию что и cin\cout
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
17.11.2011, 14:32 #6
azoor, Именно. На Си. Гугл в помощь.
0
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:34  [ТС] #7
ForEveR, не для этого ли создан форум чтобы помогать написать программу для начинающих, а не послылать в гугл за пояснениями
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
17.11.2011, 14:35 #8
забыл кое-что, должно быть:
C
1
scanf("%u", &n)
и
C
1
printf("1s: %u\n0s: %u\n", no, nz);
0
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:45  [ТС] #9
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
забыл кое-что, должно быть:
C
1
scanf("%u", &n)
и
C
1
printf("1s: %u\n0s: %u\n", no, nz);
спасибо большое ещё раз, но хотелось бы всё равно чтобы расписано было через cin и cout...
1
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
17.11.2011, 14:48 #10
Цитата Сообщение от azoor Посмотреть сообщение
спасибо большое ещё раз, но хотелось бы всё равно чтобы расписано было через cin и cout...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
        unsigned n, no, nz;
 
        while (std::cout << "enter a number:\n" && std::cin >> n && n) {
                for (no = 0, nz = 0; n > 0; n >>= 1)
                        (n & 1) ? no++ : nz++;
               std::cout << "1s: " << no << "\n0s: " << nz << std::endl;
        }
        return 0;
}
1
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 17:48  [ТС] #11
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
n >>= 1)
(n & 1) ? no++ : nz++;
огромное спасибо, но могли бы прояснить выделенные строки
0
Байт
Нарушитель
Эксперт C
16679 / 10941 / 1679
Регистрация: 24.12.2010
Сообщений: 21,329
17.11.2011, 23:06 #12
azoor, от темы твоей отписываюсь
 Комментарий модератора 
Уважительно относитесь к другим участникам форума.
0
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
18.11.2011, 07:53 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main(void)
{
    unsigned n, n0 = 0, n1 = 0;
    std::cout << "enter a number: ";
    std::cin >> n;
    while(n > 0)
    {
        if (n % 2 == 0) 
            n0++;
        else
            n1++;
        n /= 2;
    } 
    std::cout << "1s: " << n0 << std::endl;
    std::cout <<"0s: " << n1 << std::endl;
    system("pause");
    return 0;
}
1
18.11.2011, 07:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2011, 07:53
Привет! Вот еще темы с ответами:

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

Составить последовательность из нулей и единиц без соседних единиц - C++
помогите пожалуйста! проблема на экзамене составить последовательность из нулей и единиц без соседних единиц буду благодарен

найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц - C++
Нужно найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. В чем ошибка ? #include &lt;iostream&gt; #include...

Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц - C++
Здравствуйте, не могу понять в чём может быть ошибка :) Решаю олимпиадную задачу. Но система находит в тесте 5 не верный ответ) В...


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

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

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