Как проверить, что натуральное 4-значное число содержит ровно две цифры 7?
Как написать код для решения этой задачи (на С++) ?
Вот мой код , не понимаю в чем ошибка.
`
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
int a;
int a1, a2, a3, a4;
cout << " a= " << endl;
cin >> a;
for ((a < 1000) || (a >= 9999))
{
cout << " a= " << endl;
cin >> a;
}
a1 = int(a / 1000);
a2 = int(a / 100) - a1 * 10;
a3 = int(a / 10) - a1 * 100 - a2 * 10;
a4 = a - a1 * 1000 - a2 * 100 - a3 * 10;
if ((a1 == a2 == 7) || (a2 == a3 == 7) || ( a3 == a4 == 7) || (a1 == a4 == 7))
{
cout << " В числе есть две семерки " << endl;
}
else
cout << "Число не подходит " << endl;
return 0;
}`
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
int main() {
int a, c = 0;
cout << "a = ";
for (cin >> a; a < 1000 || a > 9999; cin >> a)
cout << "a = ";
for (; a; a /= 10) c += (a % 10 == 7);
if (c == 2)
cout << "В числе есть две семерки " << endl;
else
cout << "Число не подходит " << endl;
}
