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

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

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

Задача:Определить повторяются Цифры в Числе или нет... - C++

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

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

C++ Определить номер цифры в числе
C++ Определить порядковый номер его максимальной цифры в числе
Определить количество повторений в числе заданной цифры C++
C++ Задача( составить программу, которая определяет верно ли что в заданном числе все цифры стоят по возрастанию)
Определить, какие цифры встречаются в числе несколько раз C++
Выдать в возрастающем порядке все цифры от 100 до 999 в десятичном записи в которых нет одинаковых числе C++
C++ Верно ли, что в данном числе нет данной цифры Н
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
406 / 499 / 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;
    }
    
}
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 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;
}
Vepsar
 Аватар для Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 11:33  [ТС]     Задача:Определить повторяются Цифры в Числе или нет... #4
Спс ща попробую ,,,
быстрые вы !
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
11.08.2011, 11:33     Задача:Определить повторяются Цифры в Числе или нет... #5
co6ak,
C++
1
2
3
4
    while ( number > 9 )
    {
        mas[counter++] = number%10;
    }
а кто number делить будет?
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 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;
}
Vepsar
 Аватар для Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 11:44  [ТС]     Задача:Определить повторяются Цифры в Числе или нет... #7
А что такое std: и как его можно заменить, я просто только учу с++
а эт один из пунктов домашки ,,, я не об'ясню откуда я это взял (((
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;
    }
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 11:46     Задача:Определить повторяются Цифры в Числе или нет... #9
Цитата Сообщение от Vepsar Посмотреть сообщение
А что такое std: и как его можно заменить, я просто только учу с++
а эт один из пунктов домашки ,,, я не об'ясню откуда я это взял (((
Это прастранство имен. Заменить можно так, написав после include
C++
1
using namespace std;
co6ak
Кошковед
 Аватар для co6ak
406 / 499 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
11.08.2011, 11:47     Задача:Определить повторяются Цифры в Числе или нет... #10
а. буээ. точняк )
печалька
Vepsar
 Аватар для Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 11:48  [ТС]     Задача:Определить повторяются Цифры в Числе или нет... #11
Dani, больше всего понятен твой вариант СПС.
А можно переделать чтоб небыло std: и True/false . . .
co6ak
Кошковед
 Аватар для co6ak
406 / 499 / 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;
    }
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
11.08.2011, 11:58     Задача:Определить повторяются Цифры в Числе или нет... #13
LosAngeles, а на каком компиляторе у тебя подобные циклы поддерживаются? У меня не MSVS 2010, не последний g++ не компилируют.
Olga_
 Аватар для Olga_
840 / 182 / 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;
}
Vepsar
 Аватар для 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;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
11.08.2011, 12:08     Задача:Определить повторяются Цифры в Числе или нет... #16
Цитата Сообщение от Vepsar Посмотреть сообщение
Dani, больше всего понятен твой вариант СПС.
А можно переделать чтоб небыло std: и True/false
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 n,a[10]={0},isp=0;
    cin >> n;
    while (n != 0)
    {
          a[n%10]++;
          if (a[n%10]>1) isp=1;
          n /= 10;
    }
    
    if (isp==1)
    {
    cout << "Povt. chifry - ";
    for (int i=0; i<10; i++)
    if (a[i]>1) cout << i << " ";
    }
    else cout << "Povt chifr net";
    return 0;
}
LosAngeles
Заблокирован
11.08.2011, 12:14     Задача:Определить повторяются Цифры в Числе или нет... #17
Цитата Сообщение от Kastaneda Посмотреть сообщение
LosAngeles, а на каком компиляторе у тебя подобные циклы поддерживаются? У меня не MSVS 2010, не последний g++ не компилируют.
ни на каком, это я на будущее написал)
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
11.08.2011, 12:22     Задача:Определить повторяются Цифры в Числе или нет... #18
А так еще более экономно и интересно

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
long Check(long x)
{
   long y;
   int flag[10] = {0};
   y = abs(x);
   while (y && ++flag[y % 10] < 2)
      y /= 10;
   return (y != 0);
}
 
int main()
{
   long x;
   scanf("%d", &x);
   printf("%s\n", Check(x) ? "povt" : "ne povt");
   getchar();
   return 0;
}
Vepsar
 Аватар для Vepsar
32 / 32 / 6
Регистрация: 11.08.2011
Сообщений: 158
11.08.2011, 12:23  [ТС]     Задача:Определить повторяются Цифры в Числе или нет... #19
Спасиб всем все заработало !!!!!!!!
(ща еще тему создам может быть)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2011, 12:37     Задача:Определить повторяются Цифры в Числе или нет...
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Kastaneda
11.08.2011, 12:37     Задача:Определить повторяются Цифры в Числе или нет...
  #20

Не по теме:

LosAngeles, там кстати, если я не ошибаюсь, вместо символа ";" должен быть ":"

Yandex
Объявления
11.08.2011, 12:37     Задача:Определить повторяются Цифры в Числе или нет...
Ответ Создать тему
Опции темы

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