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 - ivancea96

#911
Programación C/C++ / Re: C++ Estructura dinamica.
20 Noviembre 2016, 21:05 PM
_dato es: Almacen **_dato;
Y le tratas de asignar un int**: _dato = new int*[n_modelos];

Querrías decir: _dato = new Almacen*[n_modelos];
#912
En muchos compiladores, long es igual a int, así que yo te diría long long.
De todos modos, los valores grandes ya los tienes almacenados en double, así que... No creo que quieras un n = 4e+9 :o
#913
Tienes:
Código (cpp) [Seleccionar]
if (frec[i]<mayor)
Sin embargo, mayor la inicializas a 0. Inicializarla a 0 sirve para buscar el más repetido. Si quieres buscar el menos repetido, prueba inicializando mayor a 'largo' (que es el valor máximo que podría tener)
#914
El error es que los for de sumafilas y sumacolumnas están vacíos ¿¿??

Y a parte de eso, ¿qué error tienes exactamente?
#915
Si elt amaño del array no va a cambiar desde que haces malloc, no necesitas hacer free. Cuantas menos operaciones hagas, mejor.
Si solo cambiarás sus valores, sé libre de ello sin problema.
Eso sí, al final, cuando hayas acabado, sí que liberas memoria con free, claro está.
#916
Oh, sí, gran despiste :X
#917
Programación General / Re: Libros de ASM
18 Noviembre 2016, 18:05 PM
Una manera que me parece fantástica para empezar en Ensamblador es viendo el desensamblado de un programa.
Sin ir más lejos, el MemoryView de CheatEngine. Si haces el tutorial que trae CheatEngine, mirando en cada momento el ensamblador, te harás rápidamente al lenguaje. Además, CheatEngine explica las instrucciones brevemente.

Evidentemente, de eso a hacer un programa en ASM por ejemplo, aun hay un par de pasos.
No conozco libros ni tutoriales de ASM, pero vi esto por ahí: http://comunidad.dragonjar.org/f177/tutorial-completo-de-lenguaje-ensamblador-8845/. No sé cuán bueno es, pero bueno.

Si has programado C o C++, por ejemplo, te será más fácil hacerte a ASm, más que nada porque C es de bajo nivel y lo que haces en C lo puedes pasar "fácilmente" a ASM.

Luego, si te ayuda, escribí hace tiempo estas 2 entradas:
http://code0x66.blogspot.com.es/2014/03/introduccion-punteros.html
http://code0x66.blogspot.com.es/2014/03/introduccion-ensamblador-asm.html

La primera es sobre punteros, tratados sobre Cheat Engine, C++ y algo en ASM. Si ya controlas de punteros, te lo puedes saltar xD
Te la pongo porque ASM es muy simple, pero trabaja directamente con memoria y los punteros son importantes.
#918
A partir del estándar C99 se puede hacer lo que dices. En C++, también lo podrás hacer así.
Sin embargo, mi opinión es que yo utilizaría malloc por pura compatibilidad (https://en.wikipedia.org/wiki/C11_(C_standard_revision)#Optional_features)

Ahora bien, hagas como lo hagas, se lo podrás pasar a una función de la misma manera (como un char*, por ejemplo)
#919
Una vez el comandos e ha recibido, solo inviertes los papeles. pones al cliente a leer y al servidor a recibir. El caso es el mismo.
Claro que tendrás que leer del socket hasta que el servidor se lo diga (por ejemplo, hasta que el servidor le envíe un caracter nulo '\0')

Por cierto, ¿por qué no pruebas haciendo el servidor más secuencial?
Espera cliente, lee, ejecuta el comando, envía la salida al cliente. Sin fork.
#920
Puedes practicar sockets, memoria dinámica o multi-proceso/multi-thread. Pero "probarlos" todos a la vez, solo te dará problemas.

Prueba estas cosas por separado, y ya luego ponte con el proyecto grande.

Si quieres hacer este proyecto, yo primero lo haría sin el fork. Recibes un cliente, lees su comando y lo ejecutas. Y ya de ahí, ir agregando cosas.