fork download
  1. #include <iostream>
  2. using namespace std;
  3. int main(void) {
  4. string Texto = ""; //foi sempre usado camelcase, esta variável também deveria ser
  5. bool palindrono = true; //o nome da variável deveria ser palindromo
  6. int posicaoReversa = 0; //variável desnecessária
  7. cout << "Digite a palavra : ";
  8. cin >> Texto;
  9. //seria melhor pegar o tamanho do texto for do loop por questões de performance
  10. //também seria melhor comparar só até a metade, veja no ideone o exemplo modificado
  11. for (int i = Texto.length() - 1; i > 0; i--) {
  12. posicaoReversa = Texto.length() - i - 1; //não precisava colocar na variável
  13. //poderia usar o operador [] que já pega uma posição da string
  14. if (Texto.substr(i, 1) != Texto.substr(posicaoReversa, 1)) {
  15. palindrono = false;
  16. break;
  17. }
  18. }
  19. //terminou todo o processamento necessário, chegará aqui em duas situações:
  20. //1. ocorreu o break saindo do for e mandando para cá (não é palindromo)
  21. //2. terminou o loop do for e não tem mais o que repetir (é palindromo)
  22. cout << endl << (palindrono ? "É palindromo" : "Não é palindromo");
  23. }
  24.  
  25. //https://pt.stackoverflow.com/q/35451/101
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Digite a palavra : 
É palindromo