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

Определить, содержит ли 4-х значное число 3 одинаковые цифры. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбрать и упорядочить данные из текстового файла http://www.cyberforum.ru/cpp-beginners/thread46911.html
В языке С не сильна, и программа вызвала некое недоумение) Есть тестовый файл со следующими данными: 0.299 -0.410 960.20 4551.85 1.120 346.85 275.46 20.508 19.854 99.999 20.085 19.431...
C++ Координаты для вывода массива Товарищи, помогите массив вывести в координатах. Делаю так: HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = {50,50}; const int y=3,x=3; int a={1,1,1,1,1,1,1,1,1}; int i, j;... http://www.cyberforum.ru/cpp-beginners/thread46893.html
C++ От чего мы любим С++?
Хочу спросить наших уважаемых гуру, как истинных специалистов в области программирования на С++ несколько давно наболевших вопросов. Я уже успел попробовать всего по чуть-чуть и мне сложно...
Перегруз функции C++
Вообще задание такое разработать функцию, вычисляющую максимальный элемент: - в одномерном числовом массиве, состоящем из целых чисел; - в одномерном числовом массиве, состоящим из вещественных...
C++ Как избавиться от ошибки компоновщика? http://www.cyberforum.ru/cpp-beginners/thread46733.html
Как избавиться от ошибки компоновщика в vs2008? Сначала вылезала в мфц проектах, а теперь уже везде. Переустановка не помогает
C++ Error LNK2019 + упрощенный вариант консольной графики Программка из книги Лафоре "ОПП в С++", Глава 10. Закинул я msoftcon.h и msoftcon.срр в папку к исходникам.. #include "stdafx.h" #include <iostream> using namespace std; #include <ctime>... подробнее

Показать сообщение отдельно
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
12.08.2009, 14:11
grrrrr,
не важно в каком порядке.
тогда всё приведенное выше работать на будет, например вот для такого числа: 1121

тогда типа так:
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
#include <set>
#include <algorithm>
#include <iostream>
#include <locale>
#include <boost/bind.hpp>
 
bool have_three_equal_digits(int i)
{
    typedef std::multiset<int> X;
    X x;
 
    for ( ; i; i/=10)
        x.insert(i%10);
 
    return std::find_if(
        x.begin(), x.end(),
        boost::bind(&X::count, boost::ref(x), _1) >= 3u
        ) != x.end();
};
 
void print(int i)
{
    std::cout << "Число " << i << (!have_three_equal_digits(i) ? " не " : " ") <<
        "содержит 3 одинаковые цифры" << std::endl;
}
 
int main()
{
    setlocale(LC_ALL, "");
    print(1121);
    print(1123);
    return 0;
}
Вывод:
Число 1121 содержит 3 одинаковые цифры
Число 1123 не содержит 3 одинаковые цифры
Добавлено через 1 минуту 54 секунды
поправочка: вышеприведенное до моего тогдашнего поста... (:
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru