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

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

Войти
Регистрация
Восстановить пароль
 
Parilo
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
#1

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

13.10.2012, 10:36. Просмотров 531. Ответов 6
Метки нет (Все метки)

Добрый день!
Дано задание, ввожу трёхзначное число и программа должна определить являются ли все три цифры в трёхзначном числе одинаковыми или нет, если да, то выводит 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;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2012, 10:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Являются ли все три цифры в трёхзначном числе одинаковыми (C++):

Переставить местами вторую и третью цифры в трёхзначном числе - C++
Дано трехзначное число. Переставить местами вторую и третью цифры в числе. Помогите составить программу. В этой задаче вообще не знаю...

Проверить, являются ли во введенном четырехзначном числе все цифры разными - C++
программированием занимаюсь недавно. над задачей сижу 3 дня. прошу помочь:) сама задача: Написать программу, которая проверяет, являются...

Сравнение чисел в трёхзначном числе - C++
Нужно определить какая из цифр в трёхзначном числе больше первая или последняя?

Сравнение чисел в трёхзначном числе - C++
Нужно определить какая из цифр в трёхзначном числе больше первая или вторая?

Проверка в числе на три повторяющиеся цифры - C++
Дано четырехзначное целое число. Определить содержит, ли число ровно три одинаковые цифры. Пример входных данных 1234 1114 1211 ...

Поменять первую и последнюю цифру в трёхзначном числе - C++
В функции задано трёхзначное число, поменять 1 и последнюю цифру в трёхзначном числе? Я не пойму как.

6
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
 //хотя в интах можно не отнимать последнее число ибо при долях она приравнивает к меньшему
1
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;
0
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 пройдет сквозь ваш отбор
0
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";

программирую на делфи, поэтому и так облажался )
0
doctor_lecter
280 / 153 / 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";
}
1
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 я и не догадался )
0
14.10.2012, 14:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 14:55
Привет! Вот еще темы с ответами:

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

В числе *4**3 дописать три цифры так, чтобы полученное число делилось на 15 - C++
В числе *4**3 дописать три цифры так, чтобы полученное число делилось на 15.

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

Вывести все цифры отсутствующие в числе - C++
есть число, например, 93456 необходимо вывести 1 2 7 8 то есть все числа, которые в числе не встречаются. В голове есть примерное...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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