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

Посчитать сколько двоичных единиц содержит каждое число - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как можно ускорить разбор значений в строке http://www.cyberforum.ru/cpp-beginners/thread917808.html
#include <iostream> #include <fstream> #include <sstream> #include <vector> #include <string> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <omp.h> #include "cilk/cilk.h"
C++ Переменная в массиве почему я не могу сделать так.... #include <iostream> using namespace std; int main() { int q = 0; int s = {}; } http://www.cyberforum.ru/cpp-beginners/thread917805.html
error LNK2019 при компиляции empty project C++
День добрый! Создаю новый пустой проект в VS 2010 со следующей структурой: Header Files: header.h #include <windows.h> #include <gl\gl.h> #include <gl\glu.h> Source Files:
C++ структуры\строки
результат(result) всегда единичка(а ноль обязательно должен встретится исходя из файла с данными), думаю дело в strcmp но не знаю в чем беда. Подскажите, пожалуйста. #include <iostream> #include<fstream> #include <conio.h> #include <string.h> using namespace std;
C++ Русские символы в Visual Studio http://www.cyberforum.ru/cpp-beginners/thread917778.html
Здравствуйте. Проект на си пишется в Visual Studio 08 Общий смысл проблемы таков : на вход поступают строки данных в кодировке UTF-8 их нужно разбирать и т.д.
C++ Заполнения двумерного массива рандомно или с клавиатуры Здраствуйте. Я только начинаю програмировать и еще не знаю всех правил хорошого тона програмирования. Я написал код. Может кто то подкажет как грамотней надо было написать?? Спасибо. P.S. Когда писал то искал на многих форумах... и там было подключение библиотеки <time.h>. Доскажыте для чего она. #include <iostream> #include <stdlib.h> #include <stdio.h> #include <time.h> using namespace... подробнее

Показать сообщение отдельно
Hrobak
288 / 168 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
08.07.2013, 09:22     Посчитать сколько двоичных единиц содержит каждое число
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int Count(unsigned a)
{
   return a ? (a & 1) + Count(a >> 1) : 0;
}
 
int main ()
{
    unsigned n;
    std::cout << "Введите количество элементов массива\n";
    std::cin >> n;
    unsigned *mas = new unsigned [n];
    std::cout << "Введите элементы массива\n";
    for (unsigned i =0; i<n; ++i)
    {
        std::cin >> mas[i];
        std::cout << "Количество единиц в двоичной записи числа " << mas[i] << ": " << Count(mas[i]) << std::endl;
    }
        return 0;
}
Можно так, с использованием функции Thinker-a. Или с битсетом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <bitset>
#include <iterator>
#include <vector>
 
int main ()
{
    std::vector <unsigned> numbers;
    std::cout << "Введите элементы массива" << std::endl;
    std::copy (std::istream_iterator <unsigned> (std::cin), std::istream_iterator <unsigned> (), std::back_inserter(numbers));
    for (const unsigned &it: numbers)
        std::cout << "Количество единиц в двоичной записи числа " <<it << ": " << std::bitset <32>(it).count() << std::endl;
    return 0;
}
 
Текущее время: 16:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru