SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: eruelas en Sábado 18 de Octubre de 2008, 18:12

Título: VOLTEAR LA CADENA
Publicado por: eruelas en Sábado 18 de Octubre de 2008, 18:12
BUENO KISIERA SABER SI ME PUEDEN DECIR MI ERROR TENGO UNA CADENA Y KIERO VOLTEARLA SIN USAR LA FUNCION STRREV LO KISE HACER KON UN FOR PERO NO ME SALE ESPERO ME PUEDAN AYUDAR POR FAVOR GRACIAS DE ANTEMANO AKA EL KODIGO
Código: Text
  1. #include<conio.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. void main()
  5. {
  6. char cad[60];
  7. int r;
  8. clrscr();
  9. printf("Introduce una cadena: ");
  10. gets(cad);
  11. r=strlen(cad);
  12. for (int i=r-1;i>=0;--i)
  13. {
  14. printf("%s",cad[i]);
  15. }
  16. printf("La cadena volteada es: %s",cad[i]);
  17. getch();
  18. }
  19.  
Título: Re: VOLTEAR LA CADENA
Publicado por: Eternal Idol en Sábado 18 de Octubre de 2008, 18:17
No uses conio, ni clrscr, ni getch, no son standard. Dos errores claros, en el bucle for usa %c que es para caracter y no %s que es para cadena, despues no podes imprimir la cadena por separado basandote en ese codigo, eso lo podes hacer por ejemplo usando otra cadena y asignandole en cada iteracion del bucle el caracter correspondiente.
Título: Re: VOLTEAR LA CADENA
Publicado por: Rombus en Sábado 18 de Octubre de 2008, 18:27
hola!

acuerdo con eternal idol, usa librerias standar!!

XD

mira, a de mas de lo q te dijo eternal idol, lo que haces en el for que muestra la cadena al revez esta bien, pero solo la muestra, despues cuando intentas imprimir la cadena modificada, la va a imprimir normal, pq no cambiaste sus valores.

saludos!
Título: Re: VOLTEAR LA CADENA
Publicado por: eruelas en Sábado 18 de Octubre de 2008, 18:30
ok gracias eternal si era por el "%s" tenia k cambiarlo a "%c"  jejej debi haber puesto mas atencion gracias  :beer:  :D

lo k hice fue esto
Código: Text
  1. #include<conio.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. void main()
  5. {
  6. char cad[60];
  7. int r;
  8. clrscr();
  9. printf("Introduce una cadena: ");
  10. gets(cad);
  11. r=strlen(cad);
  12. printf("nLa cadena volteada es: ");
  13. for (int i=r-1;i>=0;i--)
  14. {
  15. printf("%c",cad[i]);
  16. }
  17. getch();
  18. }
  19.