Одинаковые цифры введенного числа

Уровень сложности:

Составить алгоритм определяющий, есть ли среди цифр введенного трехзначного числа — одинаковые. Число вводится с клавиатуры.

Опять же, научитесь пользоваться операцией — остаток от деления, тогда сможете легко написать эту программу. Отделив разряды трехзначного числа, воспользуйтесь оператором выбора if else, для сравнения отделённых цифр. У вас должно получиться нечто подобное:

#include <iostream>
using namespace std;
int main()
{
	setlocale (LC_ALL, "RUS");
	cout<<"tttОдинаковые цифры введенного числаnn";
	int a;
	cout<<"Введите трехзначное число: ";
	cin>>a;
	cout<<"n";
	if (a>=0&&a<=99)
	{
		cout<<"Вы ввели неверное число. Число должно быть трехзначным.nn";
	}
	else{
		if (a>=1000)
	{
		cout<<"Вы ввели неверное число. Число должно быть трехзначным.nn";
	}
	else{
		if (((a/100)%10)==((a/10)%10)||((a/10)%10)==(a%10)||((a/100)%10)==(a%10))	
	{
		cout<<"Среди цифр введенного трехзначного числа "<<a<<" есть одинаковыеn";
	}
	else
	{
		cout<<"Среди цифр введенного трехзначного числа "<<a<<" нет одинаковыхn";
	}
	cout<<endl;
	return 0;
	}
	}
}

Результат работы программы:

CppStudio.com
    			Одинаковые цифры введенного числа

Введите трехзначное число: 334

Среди цифр введенного трехзначного числа 334 есть одинаковые
Следующие статьи помогут вам в решении данной задачи:
Автор: Marienko L.
Дата: 01.10.2012
Поделиться:

Комментарии

  1. Юрій Білоус

    мне кажется этот ((a/100)%10)== фрагмент можно просто записать (a/100)==

     

  2. Hypnodisc

    Hypnodisc

    #include <iostream>
    #include <clocale>
    #include <Windows.h>
    
    using namespace std;
    
    int main(int argc, char * argv[])
    {
    	setlocale(LC_CTYPE, "rus");
    	SetConsoleCP(1251);
    	SetConsoleOutputCP(1251);
    
    	// Составить алгоритм определяющий, есть ли среди цифр введенного трехзначного числа — одинаковые.
    	// Число вводится с клавиатуры.
    
    	int a, b, c, d, e;
    	char x;
    	do {
    		cout << "Введите трехзначное число" << endl;
    		cin >> a;
    		while (a < 100 || a > 999) {
    			cout << "Ошибка, вы ввели не трехзначное число, повторите еще раз!" << endl;
    			cin >> a;
    		}
    
    		b = a / 100; // количество сотен
    		c = a % 100; // десятки и еденицы
    		d = c / 10;  // количество десяток
    		e = c % 10;  // количество единиц
    		if (b == d && d == e)
    			cout << "Все три цифры числа одинаковые" << endl;
    		else if (b == d || d == e || b == e)
    			cout << "Две цифры числа одинаковые" << endl;
    		else
    			cout << "Одинаковых цифр в числе нет" << endl;
    		cout << "Повторить? \n Введите y-да, n-нет" << endl;
    		cin >> x;
    	} while (x == 'y');
    
    
    	system("pause");
    	return 0;
    }

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.