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

Título: Invertir una palabra C Arrays o arreglos, ciclos, leer datos. LenguajeC CU00551F
Publicado 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.

Citar
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

Código: [Seleccionar]
#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
Título: Re:Invertir una palabra C Arrays o arreglos, ciclos, leer datos. LenguajeC CU00551F
Publicado por: César Krall en 05 de Julio 2016, 16:06
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!
Título: Re:Invertir una palabra C Arrays o arreglos, ciclos, leer datos. LenguajeC CU00551F
Publicado por: Pandemia en 11 de Julio 2016, 14:33
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.

Código: [Seleccionar]
#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.
Título: Re:Invertir una palabra C Arrays o arreglos, ciclos, leer datos. LenguajeC CU00551F
Publicado por: César Krall en 14 de Julio 2016, 14:01
Hola! Tienes que revisar el bucle, lo tienes mal planteado.

Hay varias formas de plantearlo una podría ser

Código: [Seleccionar]
#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);
}
Título: Re:Invertir una palabra C Arrays o arreglos, ciclos, leer datos. LenguajeC CU00551F
Publicado por: Pandemia en 15 de Julio 2016, 20:31
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