|
1541
|
Programación / Programación C/C++ / Re: Ayuda programa
|
en: 5 Enero 2016, 09:46 am
|
Lée, desde el archivo apuntado por fptr, 1 dato del tamaño del objeto boleta y li mete en el objeto boleta. Si ha leído 1 byte o mas while ejecutará su código asociado.
Para solucionar tu problema puedes crear una lista enlazada en la que iras metiendo los datos qur pilles del archivo, después le das esa lista a una función que te los ordene. O con la misma lista creas un array dinámico con tantos elementoa tengas en la lista y se lo das a la función de librería estándar qsort para que te lo ordene.
|
|
|
1542
|
Programación / Programación C/C++ / Re: ¿Codificación hex?
|
en: 5 Enero 2016, 07:12 am
|
No, es otra cosa. Convirtiéndolo a binario, así al vuelo, se distingue un patrón Parece que va cambiando ciertos bits de un código a otro, como un bit pattern para el checkeo de memorias.
|
|
|
1548
|
Programación / Programación C/C++ / Re: Separar parte decimal y parte fraccionaria en lenguaje C.
|
en: 4 Enero 2016, 17:57 pm
|
A ver, ¿qué tal así? #include <stdio.h> #include <math.h> unsigned p_fraccionaria(double d) { unsigned retvalue; d -= (unsigned long)d; d *= 1000000; // <-- 6 decimales ya es bastante precision retvalue = d; if(retvalue < d) // <-- por si en la conversion ha habido ++retvalue; // <-- perdida de precision else if(retvalue > d) // --retvalue; // if(retvalue) // <-- Si no es 0, intentamos while(!(retvalue % 10)) // <-- quitar 0 por la derecha retvalue /= 10; // return retvalue; } int main() { double num; num = 12.34; printf("%f : %u\n", num , p_fraccionaria (num )); num = 12.34567890123; printf("%f : %u\n", num , p_fraccionaria (num )); num = 12.00; printf("%f : %u\n", num , p_fraccionaria (num )); num = 12; printf("%f : %u\n", num , p_fraccionaria (num )); num = -12.34; printf("%f : %u\n", num , p_fraccionaria (num )); return 0; }
|
|
|
1549
|
Programación / Programación C/C++ / Re: Programa en C
|
en: 4 Enero 2016, 15:17 pm
|
Hay más cosas.
No todo es el sistema operativo y el tipo de máquina en sí. También están las llamadas máquinas virtuales, como son la de Java, el JIT de .NET, etc. También están los entornos de ejecución como los navegadores con sus plugins (el navegador está compilado para cada plataforma a la que da soporte, pero los plugins son genéricos, eso es todos los navegadores de esa marca aceptarán ese plugin ); o un caso muy famoso el Flash y sus animaciones/banners/contenido activo.
Si hay un bug en estas máquinas virtuales (entiéndase todo lo anterior mencionado) que hace cosas que no debería hacer en el sistema anfitrión, ese bug, por lo general, estará en todas las plataformas a las que se puede instalar esa máquina virtual y un malware escrito para esa máquina virtual que explote ese bug puede comprometer y compromete la seguidad y el buen funcionamiento del sistema anfitrión.
Por cierto, sí se puede compilar desde una plataforma para otra. La técnica se llama cross-compiling. Para ello se utilizan los cross compilers que son capaces de compilar para otras arquitecturas. Hay muchos tipos: Linux a Windows y viceversa, Linux a Arduino, Windows a Arduino, L/W a uPIC, a Android, a iOS, etc. etc. etc.
Tal vez era esto lo que querías. Busca información de cross-compiling de Linux para Windows.
|
|
|
1550
|
Programación / Programación C/C++ / Re: Decir si dos vectores son iguales en C
|
en: 4 Enero 2016, 13:32 pm
|
A ver, voy a explicar como hacer una buena interfaz de función. Una vez pensado un buen nombre, descriptivo de lo que hace, muy importante pensar que datos necesitamos pasarle para que haga su trabajo. Hay que pasarle solo esos datos. La lista de argumentos no debe servir para crear variables locales, como haces con aux. Esas ya se declararán dentro de la función. También debemos pensar en si la función nos debe devolver un resultado y qué resultado necesitamos que nos devuelva. Teniendo claro eso podremos empezar a pensar como debe hacer su trabajo.
|
|
|
|
|
|
|