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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 5.00
Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
#1

Определить, повторяются ли цифры в числе - C++

11.08.2011, 11:19. Просмотров 3194. Ответов 43
Метки нет (Все метки)

Нужно ввести число и в результате получить сообщение повторяются цифры в числе или нет.Способ определения может быть любым. Число нужно вводить полностью(не через пробел
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2011, 11:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, повторяются ли цифры в числе (C++):

Определить номер цифры в числе - C++
Дано натуральное число. Определить номер некоторой заданной цифры в нем, считая от конца числа. Если такой цифры нет, ответом должно быть...

Определить есть ли равные цифры в числе - C++
Помогите с кодом к этой задаче пожалуйста Определить есть ли равные цифры в числе Заранее большое спасибо.

Определить, есть ли в трехзначном числе одинаковые цифры - C++
Здравствуйте! Помогите написать программу на С++, чтобы она отображала есть ли в трехзначном числе одинаковые числа. Я сама новичок,...

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
11.08.2011, 11:29 #2
не проверял, но должно работать.
ПС: больше 9 символов вводить не стоит. да и int столько не схавает
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 <iosrteam>
using std::cout;
using std::endl;
using std::cin;
 
int main()
{
    cout << "Enter the value: ";
    int number;
    cin >> number;
    int mas[9];
    int counter = 0;
    while ( number > 9 )
    {
        mas[counter++] = number%10;
    }
    for ( int i = 0; i < counter-1; i ++ )
    {
        for ( int j = i+1; j < counter; j ++ )
            if ( mas[i] == mas[j] ) cout << "Got digit: " << mas[i] << endl;
    }
    
}
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 11:29 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<algorithm>
#include<string>
 
int main(){
    std::string str;
    std::cout<<"Enter number: ";
    std::cin>>str;
    std::sort(str.begin(),str.end());
    if(std::unique(str.begin(),str.end())==str.end())
        std::cout<<"numbers are not repeated\n";
    else std::cout<<"numbers are repeated\n";
    return 0;
}
0
Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 11:33  [ТС] #4
Спс ща попробую ,,,
быстрые вы !
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 11:33 #5
co6ak,
C++
1
2
3
4
    while ( number > 9 )
    {
        mas[counter++] = number%10;
    }
а кто number делить будет?
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 11:34 #6
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>
int main()
{
    int n,a[10]={0};
    bool isp=false;
    std:: cin >> n;
    while (n != 0)
    {
          a[n%10]++;
          n /= 10;
          if (a[n%10]>1) isp=true;
    }
    
    if (isp=true)
    {
    std:: cout << "Povt. chifry - ";
    for (int i=0; i<10; i++)
    if (a[i]>1) std::cout << i << " ";
    }
    else std:: cout << "Povt chifr net";
    return 0;
}
0
Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 11:44  [ТС] #7
А что такое std: и как его можно заменить, я просто только учу с++
а эт один из пунктов домашки ,,, я не об'ясню откуда я это взял (((
0
LosAngeles
Заблокирован
11.08.2011, 11:44 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string str;
    cin >> str;
 
    for (auto ch; str)
    {
        if (!isdigit(ch))
            throw std::logic_error("not a number");
    }
 
    for (auto ch; str)
    {
        if ( find(str.begin(), str.end(), ch) != str.end() )
            cout << ch << " is repeated" << endl;
    }
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 11:46 #9
Цитата Сообщение от Vepsar Посмотреть сообщение
А что такое std: и как его можно заменить, я просто только учу с++
а эт один из пунктов домашки ,,, я не об'ясню откуда я это взял (((
Это прастранство имен. Заменить можно так, написав после include
C++
1
using namespace std;
0
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
11.08.2011, 11:47 #10
а. буээ. точняк )
печалька
0
Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 11:48  [ТС] #11
Dani, больше всего понятен твой вариант СПС.
А можно переделать чтоб небыло std: и True/false . . .
0
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
11.08.2011, 11:48 #12
C++
1
2
3
4
5
    while ( number > 9 )
    {
        mas[counter++] = number%10;
        number/=10;
    }
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 11:58 #13
LosAngeles, а на каком компиляторе у тебя подобные циклы поддерживаются? У меня не MSVS 2010, не последний g++ не компилируют.
0
Olga_
841 / 183 / 16
Регистрация: 01.08.2011
Сообщений: 502
11.08.2011, 12:04 #14
Цитата Сообщение от Vepsar Посмотреть сообщение
Нужно ввести число и в результате получить сообщение повторяются цифры в числе или нет.Способ определения может быть любым. Число нужно вводить полностью(не через пробел
А можно так еще, очень элегантно и красиво

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int Check(long x)
{
   long i, y;
   int flag[10] = {0};
   y = abs(x);
   do{
      flag[y % 10]++;
      y /= 10;
   }while (y);
   i = 0;
   while (i < 10 && flag[i] < 2)
      i++;
   return i < 10;
}
 
int main()
{
   long x;
   scanf("%d", &x);
   printf("%s\n", Check(x) ? "povt" : "ne povt");
   getchar();
   return 0;
}
0
Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 12:06  [ТС] #15
Вот что получилось из кода Dani.
Только почеу-то када цифры не повторяются выводит "Povt. chifry:" и пусто, а "Povt chifr net" не выводит ,,,, при любом раскладе *-*



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
    int n,a[10]={0};
    bool b=false;
    cin >> n;
    while (n != 0)
    {
          a[n%10]++;
          n /= 10;
          if (a[n%10]>1) b=true;
    }
    if (b=true)
    {
    cout << "Povt. chifry:";
    for (int i=0; i<10; i++)
    if (a[i]>1) 
    cout << i << " ";
    }
    else
    cout << "Povt chifr net";
    system("pause");
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2011, 12:06
Привет! Вот еще темы с ответами:

Определить, есть ли в заданном натуральном числе указанные цифры - C++
В школе задали, кто знает как решить ? Спасибо. Дано натуральное число. Определить, есть ли в нем цифры а и b.

Определить, имеются ли в случайном четырехзначном числе одинаковые цифры - C++
Не получается преобразовать int в string, как это можно сделать? int n,i; string ch; srand(time(0)); n = rand() %...

В четырехзначном числе определить сумму цифр, максимальную и минимальную цифры - C++
нужно вести четырех значное число и определить : 1.Сумму цифр 2.найти максимальное и минимальное цифр 3. является ли число...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.08.2011, 12:06
Ответ Создать тему
Опции темы

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