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

Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
iron_Pet9
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 3
03.06.2013, 16:39     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #1
Задан номер мобильного телефона. Определить, какие цифры отсутствуют в этом номере.

Помогите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 16:39     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере
Посмотрите здесь:

C++ Определить номер цифры в числе
C++ Ввести натуральное число и определить, какие цифры встречаются несколько раз.
C++ Определить порядковый номер его максимальной цифры в числе
C++ Дано натуральное число. Определить номер цифры «8»
Определить номер максимальной по величине цифры C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
serggg
53 / 37 / 5
Регистрация: 24.03.2013
Сообщений: 630
03.06.2013, 16:49     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #2
Определить, какие цифры отсутствуют в этом номере.
Не совсем понятно... Номер 10-тизначный, или какой??
Я так понял, что определить какие из цифр от 0 до 9 в нём отсутствуют? так?
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.06.2013, 16:55     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <set>
 
int main() {
    
    int number;
    std::cin >> number;
    
    std::set<int> s;
    for( int i=0; i<10; ++i ) s.insert(i);
 
    while( number )
    {
        s.erase( number%10 );
        number /= 10;
    }
    
    for( auto& d : s ) std::cout << d;
 
    return 0;
}
P.S. Только нули в начале номера не учитываются.

Добавлено через 1 минуту
Цитата Сообщение от serggg Посмотреть сообщение
определить какие из цифр от 0 до 9 в нём отсутствуют?
А Вы знаете другие цифры? Из числа арабских конечно.
iron_Pet9
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 3
03.06.2013, 22:06  [ТС]     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #4
Цитата Сообщение от serggg Посмотреть сообщение
Не совсем понятно... Номер 10-тизначный, или какой??
Я так понял, что определить какие из цифр от 0 до 9 в нём отсутствуют? так?
да из 10 цифр только с 0 спереди!
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.06.2013, 22:36     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #5
Только цифры и без пробелов:
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
#include <iostream>
#include <string>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    
    string number;
    int digit[10] = {0};
    
    cout << "Введите номер: ";
    cin >> number;
 
    for (int i = 0; i < number.size(); ++i)
        digit[number[i] - 48] += 1;
    
    for(int i = 0; i < 10; ++i)
        cout << "Цифра " << i << " = " << digit[i] << endl;
 
    system("pause");
    return 0;
}
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.06.2013, 22:43     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #6
alsav22, я Вас не узнаю. Нужны отсутствующие цифры, а не присутствующие. Инкремент такой странный. И вычисление size() на каждой итерации.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.06.2013, 23:11     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #7
Так можно с пробелами и с чем угодно (тире, скобки и пр.):
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
#include <iostream>
#include <string>
#include <cctype>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    
    string number;
    int digit[10] = {0};
    
    cout << "Введите номер: ";
    getline(cin, number);
 
    for (int i = 0; i < number.size(); ++i)
    {
        if (isdigit((unsigned char)number[i]))
            ++digit[number[i] - 48];
    }
    
    for(int i = 0; i < 10; ++i)
        cout << "Цифра " << i << " = " << digit[i] << endl;
 
    system("pause");
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Tulosba Посмотреть сообщение
Нужны отсутствующие цифры, а не присутствующие.
Там где 0, значит нет.

Добавлено через 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
#include <iostream>
#include <string>
#include <cctype>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    
    string number;
    int digit[10] = {0};
    
    cout << "Введите номер: ";
    getline(cin, number);
 
    for (int i = 0; i < number.size(); ++i)
    {
        if (isdigit((unsigned char)number[i]))
            ++digit[number[i] - 48];
    }
    
    cout << "В номере отсутствуют цифры: " << endl;
    for(int i = 0; i < 10; ++i)
        if (digit[i] == 0) cout << i << endl;
        
    system("pause");
    return 0;
}
Добавлено через 7 минут
Или так:
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
37
38
#include <iostream>
#include <string>
#include <cctype>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    
    string number;
    int digit[10] = {0};
    
    cout << "Введите номер: ";
    getline(cin, number);
 
    for (int i = 0; i < number.size(); ++i)
    {
        if (isdigit((unsigned char)number[i]))
            ++digit[number[i] - 48];
    }
    
    cout << "В номере отсутствуют цифры: " << endl;
    int flag = 0;
    for(int i = 0; i < 10; ++i)
    {
        if (digit[i] == 0)
        {
            cout << i << endl;
            flag = 1;
        }
    }
    if (flag == 0) cout << "Таких нет!" << endl;    
    
    system("pause");
    return 0;
}
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
03.06.2013, 23:25     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #8
почему нельзя просто
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string number;
    getline(cin, number);
    for (char i = 48; i != 58; ++i)
        if (number.find(i) == string::npos)
            cout << i;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2013, 08:29     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере
Еще ссылки по теме:

Определить, какие цифры встречаются в числе несколько раз C++
Определить порядковый номер цифры с максимальной величиной C++
C++ Ввести натуральное число и определить, какие цифры встречаются несколько раз

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
04.06.2013, 08:29     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере #9
Цитата Сообщение от Olivеr Посмотреть сообщение
почему нельзя просто
А почему нельзя использовать символьные константы вместо ASCII-кода? И есть ли гарантия, что все цифры в любой таблице символов идут по порядку? Может немного паранойя, но все же.
Yandex
Объявления
04.06.2013, 08:29     Задан номер мобильного телефона - определить, какие цифры отсутствуют в этом номере
Ответ Создать тему
Опции темы

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