C/Visual C - Algoritmo en C

 
Vista:
sin imagen de perfil

Algoritmo en C

Publicado por cubaniitoo (1 intervención) el 21/01/2018 16:06:40
Hola buenas, estoy intentando encontrar un algoritmo que haga lo siguiente. Consiste en que yo le ponga unos nombres por pantalla y el programa me los ponga al reves. Por ejemplo

Juan Garcia
Pedro Nuñez
Joaquin Soto


Resultado:

Joaquin Soto
Pedro Nuñez
Juan Garcia

Mcuhas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp
Val: 10
Ha aumentado su posición en 6 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Algoritmo en C

Publicado por vangodp (3 intervenciones) el 21/01/2018 18:22:23
guarde cada uno de los nombres en una matriz, e use un contador para saber cuantos nombres tienes guardado, luego cuando usar el for para imprimir, ao declarar el indice(i) e atribuir cero como se hace normalmente, para luego ir incrementando, use el contador como valor inicial y luego en vez de ir incrementando el i, vaya haciendo un decremento hasta cero. Vamos ver mejor como queda eso.

Imaginamos que tenemos eso:
char lista[10][100];
int contador = 0;

Es evidente que tenemos una capacidad de 10 nombres de máximo 100 letras(99+\0=100) cada uno. Entonces comenzamos a guardar nombres, el primer en lista[0][0]. A cada nombre guardado hacemos el contador incrementar en 1, púes así sabremos cuantos nombres tenemos guardados. Luego hacemos lo mismo con el segundo nombre en lista[1][0], y como en el paso anterior incrementamos el contador, lo haremos para cada nombre. Pero recuerde que no puedes pasar de 10 nombres en este caso, o debes modificar la declaración de la matriz para que tenga un mayor numero de nombres.

A la hora de imprimir haces de esta forma:
for(i=contador-1; i>=0; i--)

En la práctica quiere decir que i será igual a 2, púes tienes 3 nombres en tu ejemplo, "Y" el ultimo está en la lista(lista[2][0]), entonces i hará que se imprima el ultimo nombre primeramente, luego le decrementamos en 1 a i, y así imprimiremos el segundo nombre(lista[1][0]), y repites hasta imprimir el primer nombre de la lista, pero que en realidad es el que quieres imprimir antes(lista[0][0]). El resultado será el que esperas, compruebalo, y luego nos lo dices si has conseguido.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 2 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Algoritmo en C

Publicado por Andrés (9 intervenciones) el 22/01/2018 03:58:39
Esto es exactamente lo que hace una pila (AKA stack)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de vangodp
Val: 10
Ha aumentado su posición en 6 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Algoritmo en C

Publicado por vangodp (3 intervenciones) el 22/01/2018 11:54:29
¡Sí! ¡Claro! Es lo mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar