Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Pandemia en 29 de Junio 2016, 22:55
-
Buenas noches amigos aquí dejo una posible solución al ejercicio CU00551F del tutorial de programación en lenguaje C.
EJERCICIO
Crea un programa en C que pida una cadena al usuario y muestre por pantalla la cadena invertida.
Por ejemplo, si la cadena introducida es calor, deberá mostrarse por pantalla rolac. Si la cadena introducida es aprenderaprogramar.com deberá mostrarse por pantalla moc.ramargorparednerpa
#include <stdio.h>
#include <stdlib.h>
int main()
{
char texto[200];
int i;
printf("\n Escribe cadena de texto >>> ");
gets(texto);
printf("\n Escibiste : %s", texto);
int len = strlen(texto);
printf("\n\n Texto al reves !!!! ");
for (i=0; i<len; i++) {
printf("%c", texto[len-i]);
}
printf("\n");
gets(texto);
}
Saludos.... ;D
-
Hola! Hay algún error porque al hacer esta prueba
Escribe cadena de texto >>> coche
Escibiste : coche
Texto al reves !!!! ehco
Debería devolver ehcoc pero el programa no me ha devuelto eso. Revísalo.
Saludos!
-
Buenas tardes Cesar, perdona por tardar en contestar es que he estado liado con otras cosas, pero bueno al tema, he conseguido solucionar lo de la última letra que no salia, ya sale la palabra entera invertida, pero ahora me sale justo antes un símbolo o letra, que me trae de cabeza no se como hacer para que no salga o donde esta el fallo te agraciara un poco un poco de ayuda, te dejo el código para que le eches un vistazo.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char texto[200];
int i;
printf("\n Escribe cadena de texto >>> ");
gets(texto);
printf("\n Escibiste : %s", texto);
int len = strlen(texto);
printf("\n\n Texto al reves !!!! ");
for (i=-1; i<=len; i++) {
printf("%c", texto[len-i]);
}
printf("\n");
gets(texto);
}
Saludos y gracias por tu tiempo.
-
Hola! Tienes que revisar el bucle, lo tienes mal planteado.
Hay varias formas de plantearlo una podría ser
#include <stdio.h>
#include <stdlib.h>
int main() {
char texto[200];
int i;
printf("\n Escribe cadena de texto >>> ");
gets(texto);
printf("\n Escibiste : %s", texto);
int len = strlen(texto);
printf("\n\n Texto al reves !!!! ");
for (i=len; i>0; i--) {
printf("%c", texto[i-1]);
}
printf("\n");
gets(texto);
}
-
Buenas tardes Cesar, gracias por la corrección y el ejemplo, ya he visto el fallo no me entraba pero me lo has dejado claro, ya me imaginaba que estaba en el bucle el error pero no me lo suponía así planteado.
Saludos y gracias por tu tiempo ;D