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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.96
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:10     Подсчёт единиц и нулей в двоичном коде #1
Просьба помочь написать программу на языке C++, которая определяет и выводит на экран количество единиц и нулей в двоичном представлении числа.
Т.е. я ввожу десятичное число, а программа должна переделать его в двоичное и посчитать количество 0 и 1...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 14:10     Подсчёт единиц и нулей в двоичном коде
Посмотрите здесь:

C++ Написать программу на языке С, которая рекурсивно вычисляет количество единиц в двоичном коде заданного пользователем натурального числа
найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц C++
Определить, каких цифр больше в двоичном представлении натурального числа N – нулей или единиц C++
C++ Как определить сколько единиц в двоичном коде символа?
Получить все n-элементные последовательности из нулей и единиц содержащие ровно m единиц (m<=n) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
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, просто некоторые операции непонятны
Байт
 Аватар для Байт
13989 / 8820 / 1231
Регистрация: 24.12.2010
Сообщений: 15,979
17.11.2011, 14:29     Подсчёт единиц и нулей в двоичном коде #4
Цитата Сообщение от azoor Посмотреть сообщение
спасибо большое, но можно ли поподробнее расписать, просто некоторые операции непонятны
Вообще-то вежливые мальчики пишут, что именно непонятно. Тут у нас с экстрасенсами туговато, и угадать, что ты понял, а что нет - трудновато.
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:31  [ТС]     Подсчёт единиц и нулей в двоичном коде #5
Цитата Сообщение от Байт Посмотреть сообщение
Вообще-то вежливые мальчики пишут, что именно непонятно. Тут у нас с экстрасенсами туговато, и угадать, что ты понял, а что нет - трудновато.
ну я попросил расписать через cin и cout т.к. операции printf и scanf мне не известны, хотя знаю, что выполняют ту же функцию что и cin\cout
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.11.2011, 14:32     Подсчёт единиц и нулей в двоичном коде #6
azoor, Именно. На Си. Гугл в помощь.
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 14:34  [ТС]     Подсчёт единиц и нулей в двоичном коде #7
ForEveR, не для этого ли создан форум чтобы помогать написать программу для начинающих, а не послылать в гугл за пояснениями
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);
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...
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;
}
azoor
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 9
17.11.2011, 17:48  [ТС]     Подсчёт единиц и нулей в двоичном коде #11
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
n >>= 1)
(n & 1) ? no++ : nz++;
огромное спасибо, но могли бы прояснить выделенные строки
Байт
 Аватар для Байт
13989 / 8820 / 1231
Регистрация: 24.12.2010
Сообщений: 15,979
17.11.2011, 23:06     Подсчёт единиц и нулей в двоичном коде #12
azoor, от темы твоей отписываюсь
 Комментарий модератора 
Уважительно относитесь к другим участникам форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2011, 07:53     Подсчёт единиц и нулей в двоичном коде
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
18.11.2011, 07:53     Подсчёт единиц и нулей в двоичном коде
Ответ Создать тему
Опции темы

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