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

не полностью работает программа. if-else - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
LikeChoko
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 38
22.03.2012, 13:46     не полностью работает программа. if-else #1
задача состоит в том, что в 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int x,a,b,c,d,e,w=0;
    cout<<"Vvedite celoe 5-znachnoe chislo\n";
    cin>>x;
    a=x/10000;
    b=x/1000%10;
    c=x/100%10;
    d=x/10%10;
    e=x/1%10;
    if (a==b || b==a) 
    {
        w=w+1;
    }
    else
    {
        w=0;
    }
    if (a==c || c==a)
    {
    w++;
    }
    else
       w=w;
    if (a==d || d==a)
    {
        w++;
    }
    else w==0;
    if (a==e || e==a)
    {
        w++;
    }
    else {
        w=w;
    }
    if (b==c || c==b)
    {
        w++;
    }
    else 
        { w=w;
    }
    if (b==d || d==b)
    {
        w++;
    }
    else 
        {
            w=w;
    }
    if (b==e || e==b)
    {
        w++;
    }
    else 
        {
            w=w;
    }
    if (d==c || c==d)
    {
        w++;
    }
    else w=w;
    if (e==c || c==e)
    {
        w++;
    }
    else
        {
            w=w;
    }
    if (d==e || e==d)
    {
        w++; 
    }
    else 
    {
        w=w;
    }
    cout<<"Odinalovie cifry:"<<w<<endl;
    system("pause");
        return 0;
}
когда задаем 12121 например - программа пишет что одинаковых 4 числа - не верно.
когда пишем 37673 например - программа пишет что одинаковых 2 числа т.е. верно.
ещё не знаю, как вывести на экран значение этих одинаковых чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2012, 13:46     не полностью работает программа. if-else
Посмотрите здесь:

C++ Програма не работает полностью(((в чём ошибка?
C++ Помогите пожалуйста преобразовать функцию в деструктор. (Полностью рабочая программа уже написана)
Программа работает на Windows 7, но не работает на XP C++
C++ Программа при релизе не работает, а при дебаге работает
нужна полностью работающая программа с использованием функций C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LikeChoko
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 38
22.03.2012, 15:01  [ТС]     не полностью работает программа. if-else #21
а значение этих цифр как вывести на экран?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Duha666
50 / 50 / 5
Регистрация: 10.03.2012
Сообщений: 138
22.03.2012, 15:07     не полностью работает программа. if-else #22
Модификацией кода

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
39
40
41
if (used[a])
    ans++;
used[a]++;
if (used[b])
    ans++;
used[b]++;
if (used[c])
    ans++;
used[c]++;
if (used[d])
    ans++;
used[d]++;
if (used[e])
    ans++;
used[e]++;
printf("%d"\n, ans);
if (used[a] > 1)
{
    used[a] = 0; // Что б ещё раз не выводить цифру
    printf("%d\n", a);
}
if (used[b] > 1)
{
    used[b] = 0;
    printf("%d\n", b);
}
if (used[c] > 1)
{
    used[c] = 0;
    printf("%d\n", c);
}
if (used[d] > 1)
{
    used[d] = 0;
    printf("%d\n", d);
}
if (used[e] > 1)
{
    used[e] = 0;
    printf("%d\n", e);
}
LikeChoko
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 38
22.03.2012, 15:14  [ТС]     не полностью работает программа. if-else #23
не работает программа. почему он при вводе 11111 выдает что одинаковых цифр в числе 4?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
22.03.2012, 16:08     не полностью работает программа. if-else #24
По-моему через чур такие задания делать без циклов
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
 
/*
 *
 */
int main() {
 
    int number = 0, digits[ 10 ] = { 0 };
 
    std::cout << "Enter five-digit number: ";
    std::cin >> number;
 
    if ( number > 99999 || number < 10000 )
    return 1;
 
    digits[ number / 10000 ]++;
    digits[ number / 1000 % 10 ]++;
    digits[ number / 100 % 10 ]++;
    digits[ number / 10 % 10 ]++;
    digits[ number % 10 ]++;
 
    std::cout << "Equal digits in number: " << ( digits[ 0 ] + digits[ 1 ] + digits[ 2 ] + digits[ 3 ] + digits[ 4 ] + digits[ 5 ] + digits[ 6 ] + digits[ 7 ] + digits[ 8 ] + digits[ 9 ] ) << std::endl;
 
    if ( digits[ 0 ] > 0 )
    std::cout << "0: " << digits[ 0 ] << std::endl;
 
    if ( digits[ 1 ] > 0 )
    std::cout << "1: " << digits[ 1 ] << std::endl;
 
    if ( digits[ 2 ] > 0 )
    std::cout << "2: " << digits[ 2 ] << std::endl;
 
    if ( digits[ 3 ] > 0 )
    std::cout << "3: " << digits[ 3 ] << std::endl;
 
    if ( digits[ 4 ] > 0 )
    std::cout << "4: " << digits[ 4 ] << std::endl;
 
    if ( digits[ 5 ] > 0 )
    std::cout << "5: " << digits[ 5 ] << std::endl;
 
    if ( digits[ 6 ] > 0 )
    std::cout << "6: " << digits[ 6 ] << std::endl;
 
    if ( digits[ 7 ] > 0 )
    std::cout << "7: " << digits[ 7 ] << std::endl;
 
    if ( digits[ 8 ] > 0 )
    std::cout << "8: " << digits[ 8 ] << std::endl;
 
    if ( digits[ 9 ] > 0 )
    std::cout << "9: " << digits[ 9 ] << std::endl;
 
    return 0;
}
alexey31415
 Аватар для alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
22.03.2012, 16:14     не полностью работает программа. if-else #25
и не лень же вам такие костыли писать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2012, 16:20     не полностью работает программа. if-else
Еще ссылки по теме:

C++ Почему не полностью работает программа шифрования? шифрует ок, а дешифрирует плохо, теряет последние 2 символа
По отдельности работает, полностью нет C++
C++ Программа не считывает с файла текст полностью

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

Или воспользуйтесь поиском по форуму:
Duha666
50 / 50 / 5
Регистрация: 10.03.2012
Сообщений: 138
22.03.2012, 16:20     не полностью работает программа. if-else #26
Да, я ошибся. Вот оптимальный подсчет и вывод повторяющихся цифр:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
used[a]++;
used[b]++;
used[c]++;
used[d]++;
used[e]++;
if (used[a] > 1)
    ans += used[a], used[a] = 0, printf("%d", a);
if (used[b] > 1)
    ans += used[b], used[b] = 0, printf("%d", b);
if (used[c] > 1)
    ans += useLfd[c], used[c] = 0, printf("%d", c);
if (used[d] > 1)
    ans += used[d], used[d] = 0, printf("%d", d);
if (used[e] > 1)
    ans += used[e], printf("%d", e);
printf("\n%d", ans);
Yandex
Объявления
22.03.2012, 16:20     не полностью работает программа. if-else
Ответ Создать тему
Опции темы

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