Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - amchacon

#581
Programación C/C++ / Re: 1º Reto de Retrodev
27 Julio 2013, 00:06 AM
Hey cuanto curre, como me recuerdas a mí en mis tiempos  :o

Tiene muchísimos niveles y está bastante bien. Aunque en el archivo niveles.cpp, en vez de una X, yo hubiera representado los espacios vacíos... Con un espacio  ;-) (se ven los mapas menos agobiados así).

Y hay algunos fallos de memoria... Prueba a jugarlo con el administrador de tareas abierto, verás como su consumo de memoria aumenta paulatinamente (incluso estando en el menú).

He aquí un ejemplo de los mapas con espacios:
https://dl.dropboxusercontent.com/u/69551225/niveles.zip

EDITO: Vaya, se me olvidó guardar los cambios xD. Vuelvetelo a descargar ;)
#582
Programación C/C++ / Re: menu turbo
26 Julio 2013, 21:55 PM
Veo 3 mains, has puesto tres programas distintos en un mismo archivo?  :o

Solo puede haber un main por programa.
#583
Cita de: Stakewinner00 en 26 Julio 2013, 10:58 AM
Le pones un valor nulo u otro valor distinto?
Skype  ;)

Y le pongo 00  :-(
#584
Nada, no lo consigo.

En el skype tengo el mismo nick que aquí.
#585
Cita de: eferion en 22 Julio 2013, 11:00 AM
La pregunta entonces es... ¿ Es aplicable ese resultado a cualquier compilador ?

Creo que habría entonces que hacer una batería de pruebas con diferentes compiladores, porque no creo que todos implementen las mismas optimizaciones...
Seguramente las implementaciones varien de un compilador a otro, pero lo normal esque hagan estas optimizaciones automáticamente, si no esque estás usando un compilador-patata.

Cita de: do-while en 26 Julio 2013, 10:30 AM
amchacon, eres un tramposo...  :xD

Deja que los niños jueguen en igualdad de condiciones, que sino se sienten discriminados...  ;D
En las sucesiones lineales se pueden hacer muchas trampas  :xD

Seguramente en los juegos lo implementarán así, para ganar rendimiento.

Cita de: do-while en 26 Julio 2013, 10:30 AMPor cierto, ¿cómo has conseguido el código en ensamblador? Supongo que será alguna opción del compilador, pero nunca me he metido mucho a jugar con el, así que no se que opción has utilizado...
Hay que pasarle el flag -S al compilador.

Si usas un IDE como Codeblocks, se puede hacer la siguiente chapuzilla:

- Crea un proyecto de consola, pon el código y vete a Project -> build options -> other options. Escribir -S

Dale a reconstruir todo (control+F11). Al final dará un error (porque intentará linkar y verá que no puede  ;D). Vete a la carpeta obj de tu proyecto y abre el archivo con el notepad.
#586
La mayor utilidad suele ser a la hora de depurar (puedes asignarte distintos valores para distintos errores).
#587
Cita de: Stakewinner00 en 24 Julio 2013, 20:29 PM
http://www.mediafire.com/download/l3aed4ve1sx3042/Cifrado_Rar.zip
Pues me funciona perfectamente, asi que algo debo hacer mal.

¿Seguro que me has dicho todos los pasos?
#588
Pasame el zip, a ver si esque lo estoy haciendo mal  :huh:
#589
Cita de: eferion en 24 Julio 2013, 16:21 PM
El problema puede venir dado porque los números decimales pueden sufrir una cierta falta de precisión.

Los números expresados en coma flotante tienen una notación diferente a la usada para almacenar números enteros.

En el caso de los números decimales, es complicado encontrar ( con un número finito y relativamente reducido de bits ) una combinación que resulte en la representación exacta del número.

Dicho con un ejemplo: si calculas la representación binaria ( a pelo ) de 0.46 te da

0.46 * 2 = 0.92 -> 1er bit 0
0.92 * 2 = 1.84 -> 2º bit 1
0.84 * 2 = 1.68 -> 3er bit 1
0.68 * 2 = 1.36 -> 4º bit 1
...

Si para representar el dígito decimal con precisión exacta requieres más bits de los que el sistema es capaz de proporcionarte al final eso te obliga a falsear el número almacenado.

Normalmente, que yo sepa, con 32 bits ( un float en un pc típico ), se obtiene una precisión de 6 cifras.

Posiblemente los tiros vayan por ahí... yo me inclino a pensar que, posiblemente, la máquina que comenta el problema es de 16 bits. No lo he calculado, pero no me extrañaría que con 16 bits la precisión máxima fuese de, por ejemplo, 2 dígitos... con lo que al tener 0.45, la precisión se va en el 0.4 y las centesimas podrían bailar.

Si con 16 no se reproduce el problema entonces puede que su máquina sea de 8 bits... calcular el margen de error es posible pero no tengo ganas para ponerme calculadora en mano :)
¿De que año es ese libro amgarciac? Porque en informática no es nada recomendable usar material desfasado/anticuado. Por muy bueno que sea.
#590
Cita de: amgarciac en 24 Julio 2013, 15:52 PMAsí que entonces, ¿a qué se debe ese error que muestra el problema, de que le salen 45 y no 46? ¿No es nada de ejecución verdad?
Yo lo que hecho ha sido copiar y pegar el código literalmente. Y me ha salido los 46 céntimos, por lo que funciona bien.

Tampoco veo que haya algun error en el código.

Cita de: amgarciac en 24 Julio 2013, 15:52 PMYo pienso que debido a un despiste, haya añadido por ejemplo "centimos-1" (o centimos--), porque a mí me salen 46. Y dudo no sea que sea una pregunta "trampa" la que plantee el problema.
¿Fallo del libro? La cuestión esque el código es correcto y salen los 46 céntimos.