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

Являются ли все три цифры в трёхзначном числе одинаковыми - C++

Восстановить пароль Регистрация
 
Parilo
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
13.10.2012, 10:36     Являются ли все три цифры в трёхзначном числе одинаковыми #1
Добрый день!
Дано задание, ввожу трёхзначное число и программа должна определить являются ли все три цифры в трёхзначном числе одинаковыми или нет, если да, то выводит equal, нет выводит not equal.
Но программа всегда выводит сообщение not equal даже когда ввожу 333, 555. Что я написал тут неправильно?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{int a;
 cin >> a;
 int b=a%10;
 int c=a%100;
 int d=b+c*10;
 int e=(a-d)/100;
 if (e==b && e==c) cout << "all three numbers are equal"; 
 else cout << "not equal" << endl;
 
return 0;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
13.10.2012, 10:59     Являются ли все три цифры в трёхзначном числе одинаковыми #2
Цитата Сообщение от Parilo Посмотреть сообщение
int b=a%10;
*int c=a%100;
*int d=b+c*10;
*int e=(a-d)/100;
допустим a=333
тогда
b=3
c=33
d=(3+33*10)=333
e=(333-333)/100=0
делайте
C++
1
2
c=(a%100-b)/10
 //хотя в интах можно не отнимать последнее число ибо при долях она приравнивает к меньшему
laby
68 / 4 / 2
Регистрация: 11.10.2012
Сообщений: 89
13.10.2012, 11:21     Являются ли все три цифры в трёхзначном числе одинаковыми #3
Цитата Сообщение от Parilo Посмотреть сообщение
Добрый день!
Дано задание, ввожу трёхзначное число и программа должна определить являются ли все три цифры в трёхзначном числе одинаковыми или нет, если да, то выводит equal, нет выводит not equal.
Но программа всегда выводит сообщение not equal даже когда ввожу 333, 555. Что я написал тут неправильно?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{int a;
 cin >> a;
 int b=a%10;
 int c=a%100;
 int d=b+c*10;
 int e=(a-d)/100;
 if (e==b && e==c) cout << "all three numbers are equal"; 
 else cout << "not equal" << endl;
 
return 0;}
a=555
b=555%10=5
c=555%100=55
d=5+55*10=555
e=(555-555)/100=0
if (0==5 && 0==55) - вопросы есть?

Околесицу написали и хотите чего-то.
Я так понял - Вы хотите каждую цифру вычленить. Надо так:
Вторая цифра:
int c=(a%100)/10;
Третья цифра:
int e=a/100;

А я бы так написал:

int a;
cin >> a;
int b=a%10;
if (a=b+b*10+b*100) cout << "all three numbers are equal";
else cout << "not equal" << endl;
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
13.10.2012, 13:56     Являются ли все три цифры в трёхзначном числе одинаковыми #4
Цитата Сообщение от laby Посмотреть сообщение
int b=a%10;
if (a=b+b*10+b*100) cout << "all three numbers are equal";
например 332 пройдет сквозь ваш отбор
laby
68 / 4 / 2
Регистрация: 11.10.2012
Сообщений: 89
14.10.2012, 14:46     Являются ли все три цифры в трёхзначном числе одинаковыми #5
Цитата Сообщение от MrGrig Посмотреть сообщение
например 332 пройдет сквозь ваш отбор
Да, опечатка не = а ==:
if (a==b+b*10+b*100) cout << "all three numbers are equal";

программирую на делфи, поэтому и так облажался )
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
14.10.2012, 14:51     Являются ли все три цифры в трёхзначном числе одинаковыми #6
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main() {
    int i;
    cin >> i;
    if ((i < 100) || (i > 999) || (i%111 != 0))
        cout << "not equal\n";
    else
        cout << "equal\n";
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 14:55     Являются ли все три цифры в трёхзначном числе одинаковыми
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
laby
68 / 4 / 2
Регистрация: 11.10.2012
Сообщений: 89
14.10.2012, 14:55     Являются ли все три цифры в трёхзначном числе одинаковыми #7
Цитата Сообщение от doctor_lecter Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main() {
    int i;
    if ((i < 100) || (i > 999) || (i%111 != 0))
        cout << "not equal\n";
    else
        cout << "equal\n";
}
не хватает
C++
1
cin >> i;
А так супер про 111 я и не догадался )
Yandex
Объявления
14.10.2012, 14:55     Являются ли все три цифры в трёхзначном числе одинаковыми
Ответ Создать тему
Опции темы

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