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 - do-while

#741
pfff, con lo bien que funciona el juego (viva la ironia, desconexiones del juego y chat, problemas de latencia y trrrrrrrrr (redoble), ahora esto), no he invertido un duro en el, asi que dudo mucho que vayan a sacar alguna informacion importante a cerca de mi. Otro año que no van a ver un puñetero centimo por mi parte.

¡Saludos!
#742
¡Buenas!

Supongo que sera por la alineacion de los datos en memoria. Esto quiere decir, que cuando el compilador crea tu tipo de dato, no siempre el tamaño final sera la suma de los tamaños de los datos que contiene, ya que, por ejemplo, por cuestiones de eficiencia a la hora de acceder a la informacion, puede resultar mas facil acceder a unas posiciones de memoria que a otras. En este caso, si te das cuenta, esos 50 caracteres, que equivalen a 50 bytes, no son multiplo de 4, y por lo que comentas, te lo redondea por arriba a un multiplo de 4 (que es el tamaño de un DWORD)...

La verdad es que la respuesta la he dado por intuicion, si es errornea o alguien tiene una respuesta mas exacta, me gustaria conocerla.

¡Saludos!
#743
¡Buenas!

Es muy facil. Tendras que tener una funcion que reciba un puntero a arbol. Si el puntero es nulo devuelve 0, sino devolveras 1 + maximo de las alturas de las ramas izquierda y derecha. (Si, creo que si). La implementacion te toca a ti.

¡Saludos!
#744
¡Buenas!

Hace unos dias adquiri un juego para windows (windows 7 Home Premium). Al instalarlo e ir a lanzarlo, me saltaba un aviso sobre los drivers de la tarjeta grafica (Mobile Intel (R) 4 Series Express Chipset Family), diciendo que no podia renderizar.

Investigando en la pagina de Intel encontre una version reciente de los drivers, pero me daba el aviso de que podia haber conflictos con el modelo de laptop que tengo. Entonces acudi a la pagina del fabricante y busque los drivers, que resultaron ser algo mas recientes que los que tenia, pero bastante mas antiguos que la untima version ofrecida por Intel.

He instalado los drivers del fabricante y el juego sigue sin funcionar. Acabo de comprobar desde el administrador de dispositivos que los drivers no se pueden "actualizar mas".

¿Que es lo que recomendais? ¿Instalar la ultima version que ofrece Intel? ¿Quedarme con lo que tengo? Si actualizo con la version ofrecida desde intel y no fuese compatible con el modelo del ordenador ¿Que problemas podria tener?

¡Saludos!

PD: Si he metido la pata y esto va en hardware, avisad.

¡Saludos de nuevo!
#746
¡Buenas!

Tan facil como crear un email en cadena incluyendo todas las palabras que buscan, y que de vueltas y vueltas y mas vueltas al mundo. No les va a quedar otro remedio que monitorizar las conexiones de todo el mundo.

¡Fucking USA!
#747
Ferno, me has tocado la patata.

Solo te ha faltado el Sam & Max. Ya los podrian adaptar a los tiempos modernos, sin hacerles demasiadas virguerias, a un precio razonable...

¡Saludos!
#748
¡Buenas!

Pues no se que es lo que pasa... El problema solo lo tengo con esos dos ficheros. Aunque los cambie de directorio sigue sucediendome lo mismo. A ver si encuentro algo por ahi y os comento que pasa.

¡Saludos!
#749
¡Buenas!

Tratando de leer el tamaño en bytes de unos ficheros iso, me he econtrado con un par de casos en los que obtengo como tamaño incorrecto del fichero 0xFFFFFFFF bytes (lo que es lo mismo (unsigned long) (-1)). Viendo la referencia de cplusplus.com, me dice que cuando hay algun error por parte de ftell, este es el valor devuelto, pero una llamada a perror me dice que no hay ningun error. Los archivos en si son dos imagenes iso de windows 7 (versiones de 32 y 64 bits), descargadas de MSDNAA (una especie de acuerdo entre microsoft e institutos para regalar software). Con el resto de ficheros no tengo ningun problema.

Aqui el primer codigo:

unsigned long flen(FILE *f)
{
   unsigned long len, pos;

   pos = ftell(f);

   fseek(f,0,SEEK_END);

   len = ftell(f);

   fseek(f,pos,SEEK_SET);

   return len;
}


Y aqui otro, para linea de comandos,  que cree por si tenia algun error que no habia visto, pero que me da los mismos resultados:

#include <stdio.h>

int main(int argc, char *argv[])
{
   if(argc < 2)
   {
       printf("%s fic1 [fic2 ... ficN]",argv[0]);
       return 1;
   }
   else
   {
       FILE *f;

       while(--argc)
       {
           if(!(f = fopen(argv[argc],"rb")))
               fprintf(stderr,"No se puede abrir %s\n",argv[argc]);
           else
           {
               fseek(f,0,SEEK_END);

               if(ftell(f) == -1UL)
                   perror(argv[argc]);
               else
                   fprintf(stdout,"%10lu %s\n",ftell(f),argv[argc]);

                fclose(f);
           }
       }
   }

   return 0;
}


Si veis la razon de que me devuelva una longitud falsa, o si sabeis que pasa con este tipo de isos y ftell, avisad, por favor.

¡Saludos!
#750
¡Buenas!

XD, pues tienes razon, ya que tengo codificado el grafo puedo utilizarlo para representar la relacion entre los objetos. Se me acaba de ocurrir que los nodos de este grafo podrian ser de esta forma:

par(objeto, funcion)

nodo
{
    Objeto;

    par lista_accion_1;
    par lista_accion_2;
    ...
    par lista_accion_n;
};


Cada una de las listas, tendria como rimer elemento la accion llevada a cabo sobre el mismo objeto del nodo, y el resto serian interacciones con los otros objetos. Si se encuentra en la lista correspondiente a la accion el segundo objeto, sabre a que funcion tengo que llamar.

Ademas puedo generar ficheros conteniendo los datos, por lo que la mayor parte de las modificaciones recaeria sobre los ficheros en lugar de sobre el codigo.

¡Muchas gracias!

Si teneis mas ides, bienvenidas seran.

¡Saludos!