Autor Tema: C (LenguajeC) Mostrar cadena de texto invertida por pantalla al revés CU00551F  (Leído 39468 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola, dejo una posible solución al ejercicio CU00551F del taller de programación aprende 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 cadena[200];
    int i = 0;
    int j;
    printf("Introduce una cadena de texto: \n");
    gets(cadena);
    printf("\nLa cadena introducida es: %s\n\n", cadena);
    while(cadena[i]!='\0'){
        i++;
    }
    printf("La cadena al rev\x82s es:\n\t");
    for (j=i-1; j>=0; j--){
        printf("%c", cadena[j]);
    }
    puts("");
    return 0;
}

Saludos.  ;D
« Última modificación: 12 de Julio 2016, 17:19 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

El programa cumple lo que se pedía con algo poco habitual ¿Estás contando las letras de una cadena con un bucle y cuentas de uno en uno hasta que encuentras el carácter final de cadena? Eso se diría que es poco eficiente porque tener que recorrer de uno en uno algo que puede ser muy largo en general diremos que es ineficiente. En este caso parece más aconsejable usar algo como strlen u otra alternativa que te permita saber cuántos caracteres tiene la cadena sin necesidad de contar los caracteres de uno en uno.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola César.

En realidad eso es lo que hace el código, hace más de un mes que hice el ejercicio y no te puedo decir porqué lo resolví de esa forma, me imagino que solo intentaba hacer pruebas, como siempre hago con todos los ejercicios, aunque mirando el los respuestas que yo tengo, también lo tengo usando strlen, que sería la respuesta que tendría que haber colocado aquí en el foro.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char cadena[200];
    int i = 0;
    printf("Introduce una cadena de texto: \n");
    gets(cadena);
    printf("\nLa cadena introducida es: %s\n\n", cadena);
    printf("La cadena al rev\x82s es:\n\t");
    for (i=strlen(cadena); i>=0; i--){
        printf("%c", cadena[i]);
    }
    puts("");
    return 0;
}


Gracias por corregir.

Saludos.

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".