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

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

Войти
Регистрация
Восстановить пароль
 
sanchopa
8 / 8 / 0
Регистрация: 21.04.2010
Сообщений: 104
#1

Повторение цифр в введенном числе. - C++

23.12.2010, 14:08. Просмотров 527. Ответов 1
Метки нет (Все метки)

Нужно что бы пользователь ввел число, а программа написала есть ли в нём повторяющиеся цифры.

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
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main()
{
    printf("Napishi chislo: ");
    char s[2000]="";
    scanf("%1999[^\n]s", s);
    
    int a;
 
    if ( s[0]>='0' && s[0]<='9' )
        a = 1;
    else
        a = 0;
 
    for(int i=0; i<strlen(s); i++)
        if ( s[i+1]>= s[0] && s[i+1]<=s[0] )
            a++;
    if ( a>1 )
        printf("Zdes est povtor");
    else
        printf("Zdes net povtora");
    getch();
}
Программа работает для некоторых чисел, а если вводишь н-р 011, то пишет что нет повторений.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2010, 14:08     Повторение цифр в введенном числе.
Посмотрите здесь:
Посчитать количество 7-ок (цифр 7) в введенном числе C++
C++ Определить количество цифр в числе, введенном с клавиатуры
Найти количество и сумму цифр в введенном натуральном числе C++
Определить количество цифр в целом числе, введенном пользователем C++
Написать программу, выясняющую количество четных цифр во введенном пользователем числе. C++
C++ Написать программу, которая вычисляет количество цифр во введенном пользователем числе
C++ Подсчитать количество четных и нечетных цифр во введенном числе в процентном отношении (do while)
Возвести во введенном натуральном числе каждую цифру в степень, соответствующую ее позиции в числе C++
C++ Определить количество и сумму цифр в введенном натуральном числе. Введенное натуральное число представляется как единственное число, расположив цифры
C++ Есть ли во введенном числе одинаковые цифры подряд?
Во введенном четырехзначном числе расположить цифры в обратном порядке C++
Проверить, являются ли во введенном четырехзначном числе все цифры разными C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.12.2010, 14:18     Повторение цифр в введенном числе. #2
См комментарии:
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
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main()
{
        printf("Napishi chislo: ");
        char s[2000]="";
        scanf("%1999[^\n]s", s);
        
        int a;
 
        if ( s[0]>='0' && s[0]<='9' )// простая проверка на то что первый введенный символ является цифрой. Зачем? Потом в цикле все равно значение a изменится
                a = 1;
        else
                a = 0;
 
        for(int i=0; i<strlen(s); i++)
                if ( s[i+1]>= s[0] && s[i+1]<=s[0] )// эту строку можно заменить на if ( s[i+1]== s[0] ) будет тот же результат. Но похоже здесь неправильно вто что: во первых все сравнения только с первым введенным символом. И к тому же выход за границы массива
                        a++;
        if ( a>1 )// после всего, делать вывод о повторе по значению a неправильно
                printf("Zdes est povtor");
        else
                printf("Zdes net povtora");
        getch();
}
Yandex
Объявления
23.12.2010, 14:18     Повторение цифр в введенном числе.
Ответ Создать тему
Опции темы

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