1)Напишите программу, которая получает с клавиатуры
целое число и записывает в логическую переменную
значение «да» (True), если это число трёхзначное. После
этого на экран выводится ответ на во Верно ли, что
было получено трёхзначное число?».
2)Напишите программу, которая получает с клавиатуры
трёхзначное число и записывает в логическую
переменную значение «да» (True), если это число –
палиндром, то есть читается одинаково слева направо и
справа налево. После этого на экран выводится ответ на
во Верно ли, что введённое число – палиндром?»
(для этого для введенного числа надо получить значение
его перевертыша – поменять значение сотен и единиц, а
потом их сравнить).
ДЕЛАТЬ НА C++
1) Для того, чтобы определить, является ли введенное число трехзначным, необходимо проверить его длину. Для этого воспользуемся функцией `to_string()`, которая преобразует число в строку, и методом `length()`, которая возвращает длину строки.
Вот код программы, решающей задачу:
```cpp
#include
#include
int main() {
int number;
bool isThreeDigit = false;
std::cout << "Введите целое число: ";
std::cin >> number;
std::string numString = std::to_string(number);
if (numString.length() == 3) {
isThreeDigit = true;
}
std::cout << "Верно ли, что было получено трехзначное число? " << std::boolalpha << isThreeDigit << std::endl;
return 0;
}
```
Обоснование решения:
Полученное число преобразуется в строку, а затем проверяется длина строки. Если длина равна 3, то число трехзначное и логическая переменная `isThreeDigit` принимает значение `true`, в противном случае она остается равной `false`.
2) Чтобы определить, является ли введенное трехзначное число палиндромом, необходимо сравнить его с перевернутым числом.
Вот код программы, решающей задачу:
```cpp
#include
int main() {
int number;
bool isPalindrome = false;
std::cout << "Введите трехзначное число: ";
std::cin >> number;
int originalNumber = number;
int reverseNumber = 0;
while (number != 0) {
int remainder = number % 10;
reverseNumber = reverseNumber * 10 + remainder;
number /= 10;
}
if (originalNumber == reverseNumber) {
isPalindrome = true;
}
std::cout << "Верно ли, что введенное число - палиндром? " << std::boolalpha << isPalindrome << std::endl;
return 0;
}
```
Обоснование решения:
Введенное число сохраняется в переменную `originalNumber`. Затем с помощью цикла `while` получаем перевернутое число, в котором значение сотен и единиц поменяны местами. Если перевернутое число равно исходному числу, то логическая переменная `isPalindrome` принимает значение `true`, в противном случае она остается равной `false`.
В обоих программах после выполнения логической операции выводится ответ на вопрос в виде `true` или `false`, чтобы школьник мог понять верность утверждения.