Este programa inverte um número inteiro (inserido pelo usuário) usando o loop while. Então, se a instrução é usada para verificar se o número invertido é igual ao número original ou não.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:
- C ++ while e do … while Loop
- C ++ if, if … else e aninhado if … else
Este programa pega um inteiro do usuário e esse inteiro é revertido.
Se o inteiro invertido for igual ao inteiro inserido pelo usuário, então, esse número é um palíndromo, se não, esse número não é um palíndromo.
Exemplo: verificar o número do Palíndromo
#include using namespace std; int main() ( int n, num, digit, rev = 0; cout <> num; n = num; do ( digit = num % 10; rev = (rev * 10) + digit; num = num / 10; ) while (num != 0); cout << " The reverse of the number is: " << rev << endl; if (n == rev) cout << " The number is a palindrome."; else cout << " The number is not a palindrome."; return 0; )
Resultado
Digite um número positivo: 12321 O reverso do número é: 12321 O número é um palíndromo.
Digite um número positivo: 12331 O reverso do número é: 13321 O número não é um palíndromo.
No programa acima, o uso é solicitado a inserir um número positivo que é armazenado na variável num.
O número é então salvo em outra variável n para verificá-lo quando o número original for revertido.
Dentro do loop do … while, o último dígito do número é separado pelo código digit = num % 10;
. Este dígito é então adicionado à variável rev.
Antes de adicionar o dígito a rev, primeiro precisamos multiplicar os dados atuais na variável rev por 10 para adicionar o dígito à enésima casa do número.
Por exemplo: no número 123, 3 é em zero th lugar, duas no um po lugar e um no cem th lugar.
Assim, para adicionar outro número 4 depois de 123, precisamos mudar os números atuais para a esquerda, então agora 1 está na mil º lugar, 2 no único th lugar, 3 está em um th lugar e 4 em zero º lugar.
Isso é feito facilmente multiplicando 123 por 10 que dá 1230 e adicionando o número 4, que dá 1234. O mesmo é feito no código acima.
Quando o loop do while finalmente termina, temos um número invertido em rev. Esse número é então comparado ao número original n.
Se os números forem iguais, o número original é um palíndromo, caso contrário, não é.