Dev - C++ - Ingrese una palabra y determine si es palíndroma

 
Vista:
Imágen de perfil de Francisco
Val: 49
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ingrese una palabra y determine si es palíndroma

Publicado por Francisco (36 intervenciones) el 05/02/2018 07:17:30
Hola, ¿Como están?
Subo el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int main(){
    int i=0,j=0;
    string palabra=" ";
    cout<<"ingrese palabra "<<endl;
    cin >> palabra;
    for(i=0;i<palabra.length();i++){
        for(j=palabra.length()-1;j>=0;j--){
            if(palabra[i]==palabra[j]){
                cout<<"es palindroma "<<endl;
            }
            else{
                cout<<"no lo es "<<endl;
            }
        }
    }
 
 
    return 0;
}

Como verán hay que determinar si la palabra que ingresamos es palíndroma (Que se lee de izquierda a derecha y de derecha a izquierda), por ej. Radar, pop.

Cada vez que ingreso una palabra que es palindroma se me imprimen: "es palindroma", "no lo es", lo hice dentro de un for. Y se me multiplican las iteraciones, pienso que puede estar mal. Me gustaría que me digan donde está la falla y lo manden corregido sin funciones internas, por favor. Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 122
Ha aumentado su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ingrese una palabra y determine si es palíndroma

Publicado por Andrés (53 intervenciones) el 05/02/2018 07:43:41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main() {
 
	string palabra;
 
	cout<<"Ingrese palabra:"<<endl;
	cin >> palabra;
 
	size_t longitud = palabra.length()-1;
	size_t i=0;
	bool esPalindromo = true;
 
	for(i=0 ; i<palabra.length()/2 && esPalindromo ;i++) {
 
		if(palabra[i]!=palabra[longitud-i]){
			esPalindromo = false;
		}
 
	}
 
    cout<<((true == esPalindromo) ? "es palíndromo" : "no es palíndromo")<<endl;
 
	return EXIT_SUCCESS;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar