Здравствуйте, Marysia, Вы писали:
M>Подскажите, как определить есть ли среди первых трех цифр из дробной части заданного положительного числа цифра 0?? я страдаю (
#include <set>
using namespace std;
bool containsZero(double number)
{
// Множество, куда мы положим 3 первые цифры дробной части.
set<unsigned> digits;
// Цикл по 3 первым цифрам дробной части.
for (unsigned i = 0; i < 3; ++i)
{
number *= 10;
unsigned digit = abs(static_cast<int>(floor(number))) % 10;
digits.insert(digit);
}
// Проверяем, содержится ли 0 в множестве 3 первых цифр дробной части.
return digits.end() != digits.find(0u);
}