Valeria123864531
?>

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

Информатика

Ответы

Galina3241

#include <iostream>

#include <string>

#include <regex>


bool is_hexadecimal(const std::string& str) {

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

}


int main() {

std::string str;


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

std::cin >> str;

if (is_hexadecimal(str)) {

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

}

else {

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

}

return 0;

}

kryshtall2276
Могут:
– 31: для числа 111 сумма остатков равна 1+1+1=3, произведение цифр 1*1*1=1
– 813: для числа 339 произведение цифр 3*3*9=81, сумма остатков 1+1+1=3
– 7293: для числа 999 проивзедение цифр 9*9*9=729, сумма остатков 1+1+1=3

Остальные не могут. 
– 32: если сумма остатков 3, то все цифры нечетные, их произведение не может быть равно 2. Если сумма остатков 2, то одна из цифр четная, произведение не может быть равно 3.
– 43: Сумма остатков не превышает 3, значит, 3 – сумма остатков (поэтому все цифры нечетные), тогда произведение не будет четному числу 4.
– 52: сумма остатков 2, одна из цифр четная, но тогда произведение не будет равно нечетному числу 5
– 132: аналогично, сумма остатков 2, произведение должно быть четным (а оно 13)
– 190: аналогично, сумма остатков 0, тогда все цифры четные, но произведение 19
simonovaliubov5852
Ищем в таблице истинности строку, дающую F=1. Это нижняя строка.
Теперь надо из выражений 1-4 выбрать то, которое при указанном наборе значений x1-x7 даст истинное значение.
Проверяем выражения, содержащие операции "И". Каждое такое выражение будет истино, если все его элементы истины.
1) х1 должно быть истинным, а у нас х1 ложно. Выражение отвергаем.
4) Должны быть ложны х1, х3, х6 и х7. В точности, как у нас. Походит.
Два оставшихся выражения содержат операции "ИЛИ". Такое выражение будет истинно, если истинен хоть один его элемент.
2) х1 должен быть истинным, у нас он ложен, у нас он истинный, х3 должен быть истинный, у нас он должный, х4 должен быть ложный, у нас он истинный, х5,х6, х7 - все должны быть истинными и у нас х5 истинный. Подходит
3) х1 должен быть ложным, у нас он ложный. Подходит.
Теперь проверяем, будут ли отобранные нами выражения 2), 3) и 4) давать ложное значение при наборе параметров из первых двух строчек.
4) х1 истинно в обоих проверяемых наборах параметров, а оно должно быть ложным. В связи с этим выражение вернет значение ложно, что и ожидается. Подходит, выражение все проверки.
2) х1 должно быть ложным, чтобы все выражение было ложным, а во втором наборе таблицы истинности указано истинное значение. Выражение отвергаем.
3) х1 должно быть истинным, чтобы все выражение было ложным, а в первом наборе таблицы истинности указано истинное значение. Выражение отвергаем.

Решение: только последнее (четвертое) выражение удовлетворяет условиям задачи.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числомколичество символов в строке не более 6) на c или c++
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Андрей Анна22
hvostna23
evsmorodina
hellomaxim
deniskotvitsky56
Zimin1111
Chistova-Dmitrii1162
sergeev-alp5
pnat1235
VladimirovnaBugrova
Anton-Yurevich222
dobrovolsky-tmz1
Татьяна Гришаевич
M19026789436
Спиридонова