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

#901
Actualmente en la mayoria de los sistemas de 32 bits tienen dicho espacio de almacenamiento, la diferencia radicaba en aequitecturas de de 16 bits donde un int tenia espacio para 16 bits y un long era el doble de esto.

http://stackoverflow.com/questions/900230/difference-between-long-and-int-data-types


#902
Es lo mismo que escribir cualquier archivo de texto solo que ahora el buffer es binario. Es facil de realizar con stdio.hy deberia de ser mas facil con esa libreria que dices ya que casi todas las cosas estan mas implementadas y mas sencillas.

He aqui un link:

http://stackoverflow.com/questions/12997131/stdfstream-buffering-vs-manual-buffering-why-10x-gain-with-manual-buffering

Saludos.
#903
Tal vez es una base de datos Mundial y un Numero Entero no alcanza para los mas de 7 Mil millones de Personas que vivimos en la tierra.

Saludos
#904
Me aleagra que lograras el cometido por tu cuenta.

Y me confundí por la estructura ya que son muy similares por ejemplo un reproductor de música cuando tiene su "Lista" de canciones solo tiene funciones de anterior y siguiente (Adicioanles al Play) y también tiene una opción que se llama "repetir todas" la cual convierte la lista doblemente ligada en una lista circular  y segun recuerdo la diferencia solo es esa (Los nodos ultimpo y primero apuntan entre si).

De hecho es un buen ejercicio. Convertir una lista Doblemente ligada en una Circular.

Saludos.
#905
Una disculpa si me confundi de estrucutra de datos.
#906
Tienes que resumir el Grafo.

Este problema se parece al que propuse en

https://foro.elhacker.net/programacion_cc/iquestimposible_juego_de_rompecabezas_imposible-t455410.0.html

En tan solo ese ese cuadro de 4x4 y con las reglas de ese juego, el generar todos los nodos consume toda la ram de mi humilde sistema XD

Ahora tu caso, cada que haces un push de un nodo nuevo generas una mini clase por lo que veo, tiene su constructor y todo eso, eso necesita mas memoria por nodo. Creo no estoy seguro ya que NUNCA he visto un constructor en una estrucutura.

Mejor creo crea una funcion aparte que te genere un nodo y te reserve la memoria necesaria para cada nodo.

Acabo de validar que lo anterior NO es cierto usan la misma momoria que la estructura normal.

Ahora como te mencione al principio es posible Resumir el grafo. En lugar de generar un nodo por cada espacio recorrible es posible que generar un Grafo mas compacto.

Ejemplo del ejemplo usado en la descripcion del problema.


nodo 0 una sola arista peso 2 a la izquierda.
nodo 1 una sola arista peso 2 arriba
nodo 2 una sola arista peso 2 a la derecha
Fin

Suma de la ruta 6

Incluso si solo es una arista puedes omitir ese nodo y solo dejar nodos que tengan mas de una arista (donde existan mas de un camino)

La otra es
#define MAX 1000
char ady[MAX][MAX];
bool visitado[MAX][MAX];


Ahi ya estas desperdiciando al menos 2 MB

por que no lo declaras dinamicamente en tiempo de ejecución y los usas solo mientras es necesario, una vez que ya no son necesarios puedes hacerles free y te ahorras hasta 2 MB de memoria.

Saludos
#907
Tienes que plantear como quieres hacerlo.

Opciones:


  • Reescribir todos los registros del archivo
  • Reescribir solo el registro a modificar

Saludos
#908
No termina?

system("pause");
#909
Tienes que usar fwrite con los parametros adecuados.

fwrite(registros,sizeof(struct registro),N,archivo);.

Saludos
#910
tus tipos de datos pnodo y pila son apuntadores a la misma estructura.

En la primera vuelta p vale NULL y lo inicializas en la funcion pila.

Pero en el siguiente ciclo estas usando el mismo p y en ningun momento lo guardas en otra variable.

En teoria no tendras forma de acceder a los datos previamente guardados.

Ya que el P local de Main se esta sobre escribiendo en cada ciclo