Написать программу, которая инспектирует, является ли введенная с клавиатуры строка

Написать программу, которая инспектирует, является ли введенная с клавиатуры строчка шестнадцатеричным числом.(количество символов в строке не более 6) на C или C++

Задать свой вопрос
1 ответ

include lt;iostreamgt;

include lt;stringgt;

include lt;regexgt;


bool is_hexadecimal(const std::stringamp; str)

return std::regex_match( str, std::regex("^(0x0X)?[A-Fa-f0-9]+") );


int main()

std::string str;


std::cout lt;lt; "Please enter hexadecimal number: ";

std::cin gt;gt; str;

if (is_hexadecimal(str))

std::cout lt;lt; "The entered string is hexadecimal\n";

else

std::cout lt;lt; "The entered string is not hexadecimal \n";

return 0;

Вячеслав
Что означает вот это: ^(0x0X)?[A-Fa-f0-9]+1) ^ - перед числом не обязано быть знаков (aka начало строчки)2) (0x0X)? - проверяем, что после начала строчки идет 0x либо 0X либо их нет. П.С. шестнадцатеричные числа могу иметь такие начала (но могут и не иметь).3) [A-Fa-f0-9]+ в строке есть хотя бы одни знак из диапазона A-F либо a-f либо 0-9.4) - конец строчки.
Таисия Яночка
Оффтоп: веб-сайт интересно пропарсил мой 1-ый коммент, что убрал то, что я включил в треугольные скобки - а именно ... подключается через "regex". "Регулярки" ...
Геннадий Дерюжко
Представил, что ваша фраза "количество знаков в строке не больше 6" ориентирована на то, чтоб упростить задачку программеру, т.е. что программка не непременно обязана верно обрабатывать строчки длиннее 6 знаков. Если же для вас необходимо проверять это условие, то добавьте str.size() <= 6 вовнутрь тела if()
Илья Шуравенков
Огромное спасибо
Марина Чашова
Для тебя спасибо за вопрос, посодействовал мне выучить регулярки :)
Natalja Melloranskaja
а можно как то поординарнее написать
Аксенов-Журавлева Алина
я впринципе понял но разъяснить смогу не все
Руслан Дзодзаев
можно ли написать через циклы либо условия ?
Rita
Можно, но мне это теснее не интересно :( Пусть кто-нибудь другой возьмется - будет многостороннее решение.
Валерий Притуманов
хорошо
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт