No te voy a hacer el ejercicio, pero te puedo dar orientaciones para hacerlo.
1- Estudia!, la programación se aprende estudiando y practicando
2- Para el ejercicio numero 1, es realmente sencillo:
Si tienes una cadena en una variable
cadena es un puntero de tipo char que apunta al primer caracter de la cadena.
realmente, *cadena seria el primer carácter, por lo que si usando aritmética de puntero incrementas cadena en 1 (cadena++), *cadena ahora es el segundo carácter.
También comentar que el ultimo carácter de una cadena en C, termina en "\0".
Ahí lo está, bucle, un contador y ya lo tienes.
3- El segundo es fácil, solo debes reservar la memoria para tantos elementos como debas crear, imprimirlo empezando por el final y liberar la memoria creada.
mírate el uso de malloc y de free:
http://www.cplusplus.com/reference/c...loc/?kw=malloc http://www.cplusplus.com/reference/c.../free/?kw=free
Saludos!