Gracias por el ejercicio... extrañamente a mi usualmente se me ocurren cosas que tienen que ver con números
. He aquí el código que hice:
Código:
#include <stdio.h>
#include <string.h>
main() {
char *cadena;
int i=0, j, k;
gets(cadena);
i= strlen(cadena);
cadena[i]=' ';
while(i > 0) {
k= i;
do {
i--;
} while(cadena[i]!=' ' && i>=0);
for (j=i+1; j<=k; j++) {
printf("%c", cadena[j]);
}
}
return 0;
}
Para que vean que tan principiante soy... ni sabia que scanf no me leia los espacios
. Pero ya sabia de gets()...
Veamos... tengo tres variables i, j y k ... i será como un auxiliar; j y ka las utlizo para imprimir... busco en la cadena un espacio e imprimo desde el carácter posterior al el espacio hasta el espacio siguiente cuya posición es k. ... No hay mayor ciencia... Agrego un espacio a el final para que no me imprima dos palabras seguidas... para que no me haga esto -> [Esta es la cadena] => [cadenala es Esta ] ... ahora bien: preguntas que para eso estamos:
1) Utilize bucles por mi desconocimiento de funciones... pero apostaria que hay algo que me busque una carácter en una cadena y me regrese su posición ¿cierto??... ó algo como 'explode()' ó 'split()'???... Creo con una función se podria simplificar esto.
2) Se que hay ... cadenas reservadas para referirse a ciertos "carácteres especiales" ... como por ejemplo '\r' para un [return], '\n' para un salto de línea... y creia que '\x0' era para un espacio en blanco... pero no me funcionó... Bueno pués, concretamente ¿cuál es para el espacio en blanco?... y en general ¿cuáles son todos estos tipos de cadenas reservadas?
... Por el momento es eso... claro, comentarios, sugerencias y otros problemas son bien resibidos.
Saludos!