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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
filimoncc
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 101
18.12.2013, 00:11     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые #1
Помогите сделать три задачи:

1)Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые. Выведите 'YES' если число содержит одинаковые цифры и 'NO' в противном случае.

Добавлено через 1 час 14 минут
код нужен на с++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 00:11     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые
Посмотрите здесь:

дано трехзначное число определить какая из его цифр больше первая или вторая ? C++
дано трёхзначное число, определить, есть ли среди его цифр одинаковые?? C++
[C++] Дано трехзначное число N. Проверить, будет ли сумма его цифр четным числом C++
Дано трехзначное число. Определить, есть ли среди его цифр пара одинаковых C++
Дано трехзначное натуральное число. Найти произведение его цифр C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
malfoi
 Аватар для malfoi
50 / 50 / 15
Регистрация: 17.12.2013
Сообщений: 334
18.12.2013, 08:35     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int x, cnt = 0;
    cin >> x;
 
    if ((x % 10) == (x / 10 % 10))
        cnt++;
    if ((x % 10) == (x / 100 % 10))
        cnt++;
    if ((x / 10 % 10) == (x / 100 % 10))
        cnt++;
    if (cnt > 0)
        cout << "YES";
    else
        cout << "NO";
 
    return 0;
}
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
18.12.2013, 09:31     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
 
int main()
{
    int a = 333;
    std::string s = std::to_string(a);
    std::cout << (
        std::all_of(s.begin(), s.end(), 
            std::bind(std::equal_to<char>(), std::placeholders::_1, s.front())
        ) ? "YES" : "NO"
    );
   
    return EXIT_SUCCESS;
}
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.12.2013, 10:51     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые #4
outoftime, на 313 выдаст "NO", хотя есть 2 одинаковые цифры. К тому же преобразование в строку излишне. Я бы сделал как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <map>
#include <algorithm>
 
int main()
{
    int a = 312045673;
 
    std::map<int,int> m;
    
    while( a )
    {
        ++m[a%10];
        a /= 10;
    }
    
    std::cout << std::boolalpha << std::any_of( m.begin(), m.end(), [](const std::pair<int,int>& p){ return p.second>1;} ) << std::endl;
 
    return 0;
}
Подходит для любых (не только трехзначных) чисел.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
18.12.2013, 11:09     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые #5
Цитата Сообщение от Tulosba Посмотреть сообщение
на 313 выдаст "NO"
Tulosba, почему так? std::all_of должен ведь вернуть true.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.12.2013, 11:12     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые #6
Цитата Сообщение от outoftime Посмотреть сообщение
почему так?
см. задание внимательнее.
Yandex
Объявления
18.12.2013, 11:12     Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые
Ответ Создать тему
Опции темы

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