Palíndromos são frases ou palavras que lêem da mesma maneira para a frente e para trás. Enquanto um ser humano pode simplesmente ler a frase para verificar se é ou não é um palíndromo , um programa de computador precisa verificar a sentença revertida, e fazer comparações com base no valor de cada versão. Em seguida, o programa pode decidir se quer ou não uma frase é um palíndromo . Template Função Palíndromo
A função básica palíndromo de verificação pode demorar uma frase como argumento, e verificar que a sentença para ver se ele lê frente e verso :
bool palindromCheck (string verificando )
Esta função retorna um valor booleano, o que significa que ele irá retornar um valor verdadeiro ou falso com base em se ou não a frase passou no teste palíndromo.
Invertendo a frase < br >
Dentro da função , deve haver uma maneira de reverter a string. Um programador pode fazer isso através da leitura da frase argumento em sentido inverso, e armazená-lo em outra variável string:
corda new_phrase ;
int i = (int) checking.length () - 1;
for ( i; i> = 0; i -) {
new_phrase.append (verificação [i] );
}
Embora talvez não seja o método mais eficiente , este laço for mostra claramente o que está acontecendo : os laços começa no final da frase " verificação ", e trabalha para trás, anexando cada personagem para new_phrase
< . br>
Verificando o Palíndromo
C + + operadores de string incluem os operadores de comparação (maior que, menor que , igual a) . Isto significa que as cordas podem ser comparados tanto como valores numéricos . Então, se o valor da cadeia introduzido é "radar ", então o loop irá inverter a palavra e armazená-lo na variável new_phrase . Em seguida, uma simples comparação entre as variáveis :
if ( verificação == new_phrase )
retornará "true" (porque as duas variáveis de string conterá a palavra "radar" )
< . br>
Limitações
A comparação de string só funciona em cadeias que são idênticos. Se um palíndromo não é totalmente igual frente e verso (como a frase " Não gansos ver Deus ?") , Em seguida, a comparação vai falhar mesmo através da frase é um palíndromo . Descobrir mais palíndromos requer analisar frases e comparando caractere por caractere , em busca de padrões de palavras na frase invertida em vez de uma comparação direta .