Reto de programación II (nivel medio)
01/01/09
Volvemos con un nuevo reto para aventureros programadores. Como el primer reto gustó y tuvo bastante acogida, os voy a plantear uno nuevo, algo más complicado. Esta vez las reglas no cambian mucho: podeis utilizar cualquier lenguaje de programación. La diferencia es que en esta ocasión la solución debe darse en un fichero con el programa completo y 100% funcional. Al igual que la otra vez, debeis enviar la solución a sgm@yakiboo.net. Es importante que no pongais vuestro código en un comentario a este post, para no dar pistas a los demás.
Ahí va el reto:
Construye un programa, en cualquier lenguaje de programación imperativo, que sea capaz de imprimirse a sí mismo. Es decir, el programa debe imprimir por pantalla su propio código fuente tal y como se visualiza al abrir el fichero donde se encuentra, exactamente igual. Debes conseguirlo en un número máximo de 20 líneas de código.
NOTA IMPORTANTE: El programa no puede manejar ficheros. Vamos, que no vale leer el fichero del código fuente e imprimirlo. Lo que teneis que conseguir es escribir un código que compile y se imprima a sí mismo.
A ver si os animais y lo conseguís. Es algo más complejo que el primer reto pero seguro que en un rato lo sacais. Y recordad que la solución debe enviarse en un fichero (previa comprobación de que funciona a la perfección) a sgm@yakiboo.net, junto con vuestro nombre y URL de vuestro sitio web, si teneis.

Mi solución, junto con la de algunos de vosotros (con vuestro nombre y link opcional, si lo deseais) será publicada más adelante..
Suerte!
Actualización: Es increíble la de pocas (y algunas no muy buenas) soluciones que me llegan. Vamos, animáos. No hay límite de plazo, a ver si alguien lo resuelve.
Puedes dejar un comentario, o referenciar este post desde tu sitio web.


Hay 5 comentarios en este post.
Hola a todos tengo una duda, es que no manejo muy bien el lenguage c, quisiera saber que significa “%c%s%c”
Que es lo que hace ese codigo??
%c es una secuencia de escape que le indica al printf que imprima con formato de carácter. Por otra parte, %s hace lo mismo pero con formato cadena. Del mismo modo tenemos %d para imprimir un número entero.
Ejemplo:
printf(“La letra %c tiene valor %d.”, 65, 65);
mostraría por pantalla lo siguiente:
La letra A tiene el numero 65.
Ya que el caracter 65 es el correspondiente a la letra A.
Espero servirte de ayuda.
¬¬ no entender, lo que pides es que el programa se imprima a si mismo pero no puedo usar el fichero, entonces como puedo acceder al codigo? me podrias despejar esa duda?.
@chris
La gracia está en que no puedes acceder al fichero de código. Tienes que conseguir que al ejecutar el programa se imprima lo mismo que hay en el código, pero sin acceder a él.
Espero haberte resuelto la duda, si no es así dímelo.
ok me ha quedado claro, lamentablemente no tengo idea de como hacerlo xD tendre que esperar a la solucion y si la tienes en java mejor xD