1)Напишите программу, которая получает с клавиатуры
целое число и записывает в логическую переменную
значение «да» (True), если это число трёхзначное. После
этого на экран выводится ответ на во Верно ли, что
было получено трёхзначное число?».
2)Напишите программу, которая получает с клавиатуры
трёхзначное число и записывает в логическую
переменную значение «да» (True), если это число –
палиндром, то есть читается одинаково слева направо и
справа налево. После этого на экран выводится ответ на
во Верно ли, что введённое число – палиндром?»
(для этого для введенного числа надо получить значение
его перевертыша – поменять значение сотен и единиц, а
потом их сравнить).
ДЕЛАТЬ НА C++

SKARP17868 SKARP17868    1   14.05.2020 19:36    53

Ответы
Studio1 Studio1  22.01.2024 16:25
Хорошо, давайте решим оба вопроса последовательно.

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`, чтобы школьник мог понять верность утверждения.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика