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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
#1

Проверить, есть ли в записи числа три одинаковые цифры - C++

21.06.2012, 12:52. Просмотров 1317. Ответов 11
Метки нет (Все метки)

Дано натуральное число N. Проверить, есть ли в записи числа три одинаковые цифры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2012, 12:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить, есть ли в записи числа три одинаковые цифры (C++):

Проверить, есть ли в записи натурального числа N три одинаковые цифры - C++
дано натуральное число n. Проверить есть ли в записи числа три одинаковые цифры

Проверить, есть ли в записи числа m цифры, совпадающие с цифрами в записи числа n - C++
Помогите составить программу. Условие: Даны два натуральных числа m и n{m< 9999, n < 9999). Проверить, есть ли в записи числа m...

Проверить есть ли одинаковые цифры в числе - C++
Дано четырёхзначное число,если в нем 3 или больше одинаковых цифр,то выводится <YES>,если меньше 3 цифр,то <NO> Пример : Ввод : 1110 ...

Проверить, есть ли в трехразрядном числе одинаковые цифры - C++
Доброго времени суток всем, Прошу помощи, я новичек по этому не сильно кричите.. Есть бешенное желание научиться писать на Си++,...

Есть в записи числа m цифры, которые совпадают с цифрами в записи числа n - C++
Дано два натуральных числа n(<=9999) и m (<=9999). Проверить, есть в записи числа m цифры, которые совпадают с цифрами в записи числа n. ...

Проверить есть ли в массиве одинаковые числа - C++
Как можно проверить есть ли в массиве числа с одинаковым значением? числа вводяться с клавиатуры.

11
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,633
21.06.2012, 13:21 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
#include <string>
#include <iostream>
 
bool has3equalchar(std::string str)
{
    for (auto i = str.begin(); i!= str.end(); ++i)
        if (std::count(i, str.end(), *i) == 3) return true;
    return false;
}  
 
int main()
{
    const std::string N = "123211";
    std::cout<< (has3equalchar(N) ? "Yes" : "No");
    return 0;
}
http://liveworkspace.org/code/60c69309c76d52aa63b659d6fb8e7121
1
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
21.06.2012, 13:24 #3
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
#include <iostream>
#include <cstdlib>
 
bool contains(int x)
{
    int digits[10] = {0};
 
    for(x = std::abs(x); x != 0; x/= 10)
    {        
        int rem = x % 10;        
        if(++digits[rem] == 3)
            return true;
    }
 
    return false;
}
 
int main()
{
    int value;
    std::cout << "value: ";
    std::cin >> value;
 
    if(!std::cin)
        return 1;
        
    std::cout << (contains(value) ? "yes" : "no") << std::endl;
}
1
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.06.2012, 13:44 #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
24
25
26
27
#include <iostream>
#include <string>
#include <unordered_map>
#include <cstdlib>
#include <utility>
#include <algorithm>
 
int main()
{
    const auto num = 0x736f6f6e;
    std::cout << num << std::endl;
    const auto str = std::to_string(num);
    std::unordered_map<char, std::size_t> m;
    for(const auto& elem: str)
        ++m[elem];
    const auto it = std::find_if
                    (
                        m.begin(),
                        m.end(),
                        [] (const std::pair<const char, std::size_t>& p)
                        {
                            return p.second == 3;
                        }
                    );
    std::cout << ((it == m.end()) ? "No" : "Yes") << std::endl;
    return 0;
}
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.06.2012, 13:45 #5
MrGluck, Передача не по конст ссылке строки в функцию - печалька
1
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,633
21.06.2012, 13:51 #6
Исправляемся
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
#include <string>
#include <iostream>
 
bool has3equalchar(const std::string &str)
{
    for (auto i = str.begin(); i!= str.end(); ++i)
        if (std::count(i, str.end(), *i) == 3) return true;
    return false;
}  
 
int main()
{
    const std::string N = "123211";
    std::cout<< (has3equalchar(N) ? "Yes" : "No");
    return 0;
}
0
bLesk
41 / 41 / 1
Регистрация: 24.11.2009
Сообщений: 165
21.06.2012, 13:52 #7
ребят, а почему вы не используете using namespace std; ? так же проще, или это считается дурным тоном или ещё есть какая то причина?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,633
21.06.2012, 13:53 #8
Цитата Сообщение от bLesk Посмотреть сообщение
ребят, а почему вы не используете using namespace std; ? так же проще, или это считается дурным тоном или ещё есть какая то причина?
Не хочется валить все функции в одну большую кучу. Может привести к конфликтам, да и не всегда это удобно. Лучше сразу указывать полное имя, чем предоставлять машине возможность дописывать то, чего ты мб и не хотел.
1
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.06.2012, 13:54 #9
bLesk, я же вам вроде кидал ссылку на блог, где это обсуждалось.
0
bLesk
41 / 41 / 1
Регистрация: 24.11.2009
Сообщений: 165
21.06.2012, 13:56 #10
Цитата Сообщение от soon Посмотреть сообщение
bLesk, я же вам вроде кидал ссылку на блог, где это обсуждалось.
либо вы меня с кем-то путаете, либо я был крайне невнимателен, можете ещё раз предоставить эту ссылку пожалуйста?
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.06.2012, 13:59 #11
Ага, спутал.
http://www.cyberforum.ru/blogs/34326/blog275.html
1
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,633
21.06.2012, 14:07 #12
Цитата Сообщение от soon Посмотреть сообщение

Не по теме:

почти http://www.cyberforum.ru/humour/

0
21.06.2012, 14:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2012, 14:07
Привет! Вот еще темы с ответами:

Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры - C++
Задача на С++ (do..while) Нужно ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры? Буду...

Определить есть ли среди цифр числа одинаковые цифры - C++
Задано целое положительное трехзначное число Определить есть ли среди цифр этоготчисла одинаковые цифры

Вложенные циклы(Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры) - C++
Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры. Подсчитать количество таких чисел.с (использованием...

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


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

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

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