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

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

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

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

30.05.2013, 17:43. Просмотров 327. Ответов 4
Метки нет (Все метки)

Как посимвольно проверить вводимое число на количество единиц?
допустим ввожу число из 16 символов и в функции func буду проверять проходя по кажому символу есть ли в нем единицы

C++
1
2
3
4
5
6
7
8
void main()
{
int ch[16]
cout << "Введите число\n\n";
cin >> hex >> ch;
ch2=func(ch);
cout<<hex<<"Количество единиц в числе:"<<ch2;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 17:43     Проверка на количество единиц
Посмотрите здесь:

Сосчитать количество единиц - C++
Сосчитать количество единиц в двоичной записи числа i.

Определить количество ведущих единиц - C++
здарвствуйте все! помогите пожалуйста с заданиями по мере возможностей: 1) представить программу, позволяющую для заданного...

Найти количество островов из единиц - C++
Здравствуйте, есть задачка. Задача Острова Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите...

Вычислить количество единиц в 3 числах - C++
Помогите с такой задачей. Программа просит ввести три целых числа. В каждом из трёх введённых чисел вычисляется количество цифр &quot;один&quot;....

Найти количество квадратов из единиц в двумерном массиве - C++
Добрый день. Я начинающий программист. Решаю задачки и вот столкнулся с такой пробл.: Почему при вводе данных: 1 - кол-во...

Подсчитать количество единиц и вывести их отдельной матрицей в конце - C++
Сильно затупил. Нужно подсчитать сколько единиц и вывести их отдельной матрицей в конце. У меня вот получилось вывести в конце каждой...

Посчитать количество единиц и определить четное или нет! - C++
Задание! вести 14 цифр из 0 и 1, далее этого разделить, получается 2 строки по 7 символов, и посчитать количество единиц (1) четное или...

Почему не показывается количество единиц при компиляции? в числе 017 их 4(1111) - C++
#pragma hdrstop #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int bit(unsigned int n) { int b; for(b=0; n!=0; n&gt;&gt;1) if (n%01) ...

Заполнить двумерный массив расположив заданное количество единиц случайным образом - C++
Ребята , nомогите додумать , есть двумерный динамический массив , заnолняется рандомно цыфрами 0 и 1 , в чем суть. nользователь вводит ,...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22510 / 10915 / 1774
Регистрация: 12.02.2012
Сообщений: 18,063
30.05.2013, 17:50     Проверка на количество единиц #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <string.h>
 
int uniCount(char *s)
{
    int i,c=0;
    for (i=0; i < strlen(s); i++) 
        if (*(s+i) == '1') c++;
    return c;
}
 
int main(int argc, char* argv[])
{
 
    char SS[100];
 
    cout << "Enter number : ";
    cin >> SS;
 
    cout << "Number of units is " << uniCount(SS) << endl;
    
    return 0;
}
CatOnSide
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 63
30.05.2013, 18:59  [ТС]     Проверка на количество единиц #3
спасибо)

Добавлено через 11 минут
Только все равно не показывает =(


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
void logfunc()
{
char ch[16];
char ch2;
cout << "Введите число\n\n";
cin >> hex >> ch;
ch2=uniCount(ch);
cout<<hex<<"Количество единиц в двоичном коде:"<<ch2;
}
 
int uniCount(char *s)
{
    int i,c=0;
    for (i=0; i < strlen(s); i++) 
        if (*(s+i) == '1') c++;
        if (*(s+i) == '2') c++;
        if (*(s+i) == '3') c=c+2;
        if (*(s+i) == '4') c++;
        if (*(s+i) == '5') c=c+2;
        if (*(s+i) == '6') c=c+2;
        if (*(s+i) == '7') c=c+3;
        if (*(s+i) == '8') c++;
        if (*(s+i) == '9') c=c+2;
        if (*(s+i) == 'A') c=c+2;
        if (*(s+i) == 'B') c=c+3;
        if (*(s+i) == 'C') c=c+2;
        if (*(s+i) == 'D') c=c+3;
        if (*(s+i) == 'E') c=c+3;
        if (*(s+i) == 'F') c=c+4;
        if (*(s+i) == '0') c=c+0;
    return c;
}
Добавлено через 7 минут
P.S. попробовал изменить тип переменной i на unsigned int, теперь рисует смайлы да всякую ерунду в выводе количества единиц
Catstail
Модератор
22510 / 10915 / 1774
Регистрация: 12.02.2012
Сообщений: 18,063
30.05.2013, 19:21     Проверка на количество единиц #4
Ты бы хоть ВНЯТНО написал, ЧТО тебе нужно... Число единиц в двоичном коде числа? ГДЕ ЭТО НАПИСАНО?

Вот:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
 
int uniCounter (int n)
{
    int c=0;
    while (1)
    {
        if (n == 0) break;
        if ((n % 2) == 1) c++;
        n=n/2;
    }
    return c;
}
 
int main(int argc, char* argv[])
{
    int k;
    cout << "Enter number : ";
    cin >> k;
    cout << "Number of units in binary presentation is " << uniCounter(k)<< endl;
 
    return 0;
}
CatOnSide
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 63
30.05.2013, 23:23  [ТС]     Проверка на количество единиц #5
ну мне просто нужна была функция или её алгоритм который бы я потом мог применить, в задании по нахождению количества единиц в двоичном коде шестнадцатиричного числа, все получилось, изменил параметр в выводимом значении на интовый вместо чар =)
Yandex
Объявления
30.05.2013, 23:23     Проверка на количество единиц
Ответ Создать тему
Опции темы

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