elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Palindromo numerico c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Palindromo numerico c++  (Leído 3,293 veces)
Pelusatron

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Palindromo numerico c++
« en: 29 Marzo 2017, 04:19 am »

Hola amigos del foro!!
Esperaba a que resolvieran mi duda con este programa ):
Y es que quiero saber como solucionar el problema en la parte de la evaluación
Mi problema es este:
Por ejemplo si ingreso 5(osea m) y luego: 1 2 3 2 1 (elementos del palindromo) me imprime que no lo es cuando realmente si lo es



Código
  1. [
  2. #include<iostream>
  3. #include<stack>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. stack <char> pila;
  9. int m; cin>>m;
  10. string p,q="";
  11.  
  12. for(int i=0; i<m; i++)
  13. {
  14. cin>>p[m];
  15. pila.push(p[m]);
  16. }
  17. while(!pila.empty())
  18. {
  19. q=q+pila.top();
  20. pila.pop();
  21. }
  22.  
  23. if(q[0]=='0' || q[m-1]=='0')
  24. {
  25. cout<<"NO";
  26. }
  27. else if(p != q)
  28. {
  29. cout<<"NO";
  30. }
  31. else
  32. {
  33. cout<<"SI";
  34. }
  35.  
  36. return 0;
  37. }]
  38.  
  39.  
  40.  
  41.  


« Última modificación: 29 Marzo 2017, 07:28 am por Pelusatron » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Palindromo numerico c++
« Respuesta #1 en: 29 Marzo 2017, 15:51 pm »

Dos detalles nada más:

Código
  1. string p(m, '0'),q="";
  2.  
  3. for(int i=0; i>p[i];
  4. pila.push(p[i]);
  5. }

En primer lugar, si vas a acceder a los caracteres de una string por su índice, tienen que existir. Así que utiliza el constructor de stirng para que ya tenga los caracteres ("m, '0'": el primer parámetro es el número de caracteres, y el segundo con qué los quieres rellenar).

Luego, pusiste p[ m ] en vez de p[ i ]


En línea

Pelusatron

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Palindromo numerico c++
« Respuesta #2 en: 29 Marzo 2017, 22:24 pm »

ya realicé ambas sugerencias y el programa sigue fallando, el problema es que si inserto: 1 2 3 4 5
Mi programa lo reconoce como un palindromo
Cómo puedo arreglarlo?? ):


Código
  1. [#include<iostream>
  2. #include<stack>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. stack <char> pila;
  8. int m; cin>>m;
  9. bool band=false;
  10. string p(m, '0'),p2;
  11.  
  12. for(int i=0; i<m; i++)
  13. {
  14. cin>>p[i];
  15. pila.push(p[i]);
  16. }
  17.  
  18. for(int i=0;i<m;i++)
  19. {
  20. if(pila.top() == p[i])
  21. {
  22. band=true;
  23. }
  24. pila.pop();
  25. }
  26.  
  27. if(p[0]=='0' || p[m-1]=='0')
  28. {
  29. cout<<"NO";
  30. }
  31. else if(band==true)
  32. {
  33. cout<<"SI";
  34. }
  35. else
  36. {
  37. cout<<"NO";
  38. }
  39. return 0;
  40. }]
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Palindromo numerico c++
« Respuesta #3 en: 29 Marzo 2017, 23:13 pm »

Código
  1. for(int i=0;i
En línea

Pelusatron

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Palindromo numerico c++
« Respuesta #4 en: 30 Marzo 2017, 03:16 am »

He logrado resolver el problema, envió el código por si a alguien le hes útil, no lo probé pero creo que también funciona para las palabras.

Gracias a todos los que vieron mi post y a los que respondieron!!!


Código
  1. [#include<iostream>
  2. #include<stack>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int o=0;
  8. stack <char> pila;
  9. char arr[100];
  10. int m; cin>>m;
  11.  
  12. for(int i=0; i<m; i++)
  13. {
  14. cin>>arr[i];
  15. pila.push(arr[i]);
  16. }
  17. int a=0,l=0;
  18. while(!pila.empty())
  19. {
  20. if(pila.top() == arr[a])
  21. {
  22. l++;
  23. }
  24.  
  25. a++;
  26. pila.pop();
  27. }
  28. if(arr[0]=='0' || arr[m-1]=='0')
  29. {
  30. cout<<"Los elementos insertados no corresponden a un palindromo";
  31. }
  32. else if(l==m)
  33. {
  34. cout<<"Los elementos insertados si corresponden a un palindromo";
  35. }
  36. else
  37. {
  38. cout<<"Los elementos insertados no corresponden a un palindromo";
  39. }
  40.  
  41. return 0;
  42. }]
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Palindromo con Pilas
Programación C/C++
Muffin 1 14,911 Último mensaje 28 Enero 2011, 02:32 am
por ricardo_b
palindromo « 1 2 »
Programación C/C++
ALONSOQ 16 12,839 Último mensaje 7 Agosto 2012, 17:52 pm
por X3R4CK3R
Palindromo en un archivo
Programación C/C++
Eva93 8 4,510 Último mensaje 30 Agosto 2013, 13:20 pm
por Eva93
Palindromo C++ « 1 2 »
Programación C/C++
Bob1098 11 10,627 Último mensaje 23 Agosto 2014, 22:45 pm
por leosansan
Palindromo
Java
vhh70 7 5,217 Último mensaje 9 Junio 2016, 20:54 pm
por DIANA KARINA HM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines