Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2012, 17:50
sonrasiel
 
Fecha de Ingreso: septiembre-2012
Mensajes: 29
Antigüedad: 12 años, 3 meses
Puntos: 0
como puedo invertir una cadena?

hola quiero saber como invertir el orden de una cadena sin usar srting
se me ocurrió con 2 for pero no se como hacer para que el for recorra la cadena de izquierda a derecha y de derecha a izquierda al tiempo como lo tengo ahora recorrerá toda la cad_b con temp=cad_a[1]; pero si lo saco del for recorre toda la cadena i y luego toda la cadena j así no podría compararlos. aun estoy pensando que me falta pero no se me ocurre nada.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6. char* cad_a=new char[30];
  7. char* cad_b=new char[30];
  8. int i, j;
  9. char temp;
  10. cout << "Introduce una cadena: "; //pide los datos
  11. cin.getline (cad_a,30);
  12.  
  13. for(i=0; i<30; i++)
  14. cout << cad_a[i] << " "; //muestra es pantalla
  15. cout << endl << endl;
  16.  
  17. for(i=0; i<29; i++)
  18. {
  19.    
  20. for(int j=29; j>0; j--)
  21.    
  22. {
  23. temp=cad_a[i];
  24. cad_b[j]=temp;
  25. }
  26. for(j=0; j<30; j++)
  27. cout << cad_b[j] << " "; //muesta cadena invertida
  28.  
  29. return 0;
  30. }