|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - m0skit0
Páginas: 1 ... 40 41 [42] 43 44 ... 100
1026
« en: Sábado 30 de Mayo de 2009, 12:24 »
Si yo fuera tu profe/jefe:
1027
« en: Viernes 29 de Mayo de 2009, 13:56 »
No entiendo tu pregunta, un espacio es un carácter como los demás. ¿Qué tal si pones el código con el que trabajas y así especificas más tu duda?
(No olvides usar las etiquetas de código...)
1028
« en: Viernes 29 de Mayo de 2009, 10:11 »
Jimbenit, me vas a perdonar, pero tu función EsPrimo está mal codificada. ¿Para qué quieres seguir buscando "submúltiplos" (supongo que querrás decir divisores) si al encontrar uno ya sabemos que el número no es primo? ¿Además, para qué conviertes el número en Integer cuando lo aceptas como Long en el parámetro? Private Function EsPrimo(ByVal N as Long) As Boolean Dim i As Long Dim Mitad As Long EsPrimo = True i = 2 Mitad = N/2 Do While (i <= Mitad) And EsPrimo If (N mod i = 0) Then EsPrimo = False Else i = i + 1 End If Loop End Function
Además, en tu función Nro_Primos creas un vector con tamaño Lim_Sup, cuando los primos son evidentemente muchos menos que Lim_Sup. Así desperdicias mucha memoria y eso es una mala práctica. Tendrías que poner: If EsPrimo(i) Then Contador = Contador + 1 ReDim Preserve Vector(Contador - 1) Vector(Contador - 1) = i Texto = Texto & i & vbCrLf End If
Saludos y
1029
« en: Viernes 29 de Mayo de 2009, 09:53 »
1030
« en: Jueves 28 de Mayo de 2009, 18:38 »
Hm, qué extraño... Postea el error con los números, a ver si alguien ve luz en ello.
Suerte
1031
« en: Jueves 28 de Mayo de 2009, 16:39 »
Efectivamente, hay que cambiar primero el modo de representación. Si estás en modo texto, las páginas gráficas de la memoria de vídeo están sin utilizar. Échale un vistazo a esto: http://www.osdever.net/FreeVGA/vga/vga.htmIgualmente ten en cuenta que hoy en días las tarjetas gráficas vienen con sus drivers y es posible que estas direcciones de registros de E/S ya no sean válidas para algunas tarjetas modernas, aunque que yo sepa todas intentan respetar el estándar VGA. Suerte
1032
« en: Jueves 28 de Mayo de 2009, 11:07 »
1033
« en: Miércoles 27 de Mayo de 2009, 17:26 »
Yo la verdad es que no tengo mucho problema para ligar en el mundo real. Pero a lo mejor algún remoto día me animo a buscar por internet, más que nada por curiosidad. Pero hasta ahora no me ha picado demasiado. Saludos y mucha suerte PD: ¡no has votado!
1034
« en: Miércoles 27 de Mayo de 2009, 10:46 »
Pueden decirme que hacer para que vayan a la par la memoria y el fsb ? No tienes ningún cuello de botella, fíjate en el ancho de bus y en el ancho de banda.
1035
« en: Miércoles 27 de Mayo de 2009, 10:11 »
strcpy(passwd, pas); es vulnerable porque copia todo hasta encontrar un NULL.
1036
« en: Martes 26 de Mayo de 2009, 19:11 »
Es que por más que me esfuerzo no soy capaz de ver las dudas en el primer post... Ahora en serio, vayamos por partes. Ponte el código que tengas hecho del primer apartado y lo comentamos. Saludos
1037
« en: Martes 26 de Mayo de 2009, 18:40 »
Bueno, explícanos que dudas tienes, porque sencillo es sencillo. Ah, se me olvidaba, aquí nadie te va a hacer la tarea, porque las tareas son para aprender. Todos hemos tenido que pasar por ello. Así que ánimo
1038
« en: Martes 26 de Mayo de 2009, 16:35 »
Eso ya lo sabia y no es lo que queria. La próxima vez explícate mejor.
1039
« en: Martes 26 de Mayo de 2009, 12:07 »
Nebire, como siempre, me quito el sombrero Por cierto, deaven, si te interesa calcular el tiempo que tarda en ejecutarse una parte del código, te aconsejo que le eches un vistazo a esto, seguro que te viene muy bien (porque yo también lo tuve que hacer  ): Private Declare Function timeGetTime Lib "winmm.dll" () As Long Private Sub TalyCual(ByLoQueSea Parametro As TipoLoQueSea) Dim Tiempo_Inicial As Long Tiempo_Inicial = timeGetTime() 'Procesamos... Debug.Print timeGetTime - Tiempo_Inicial End Sub
Ah y otro consejo: evita el uso de cadenas de caracteres todo lo que puedas. La lentitud de su procesamiento es uno de los mayores defectos de VB6 Saludos y espero que te sirva
1040
« en: Martes 26 de Mayo de 2009, 11:39 »
Vuelve a editarlo, por favor, y pon lo de code bien (selecciona el código y luego dale a code), y formatea el código para que quede legible.
1041
« en: Martes 26 de Mayo de 2009, 11:14 »
Bueno, en mi humilde opinión has empezado por lo último que se debe hacer en una aplicación: la interfaz. Pero bueno, ya verás los problemas que surjen. Mejor la experiencia en persona  Respondiendo a tu duda, es muy sencillo. Puedes hacer: string tipo_mascota; [...] case 1: cout << "nUsted a elegido un Gato"; tipo_mascota = "Gato"; break; // etc...
que es lo más sencillo, aunque personalmente haría: enum tMascotas { GATO = 0, PERRO = 1, HAMSTER = 2, CONEJO = 3, TORTUGA = 4, PEZ = 5 }; tMascota tipo_mascota; [...] case 1: cout << "nUsted a elegido un Gato"; tipo_mascota = GATO; break; // etc...
y así evito manejar cadenas de caracteres que es más pesado. Pero como tú te apañes mejor.
1042
« en: Martes 26 de Mayo de 2009, 11:05 »
Porque no le has dicho que es un carácter /* No hace falta poner unsigned */ char c;
1043
« en: Martes 26 de Mayo de 2009, 10:52 »
Usa las etiquetas de código, colega... int valor_pila() { __asm__("push %espnt" "pop %eax"); }
Suponía que no entendrías esto Hay que tener en cuenta que el código en C primero se pasa a ensamblador y posteriormente se ensambla y enlaza. Si quieres ver el código en ensamblador correspondiente, usa el modificador -S con gcc. Con la función __asm__() lo que estamos diciéndole al compilador de C es que no compile la cadena que vaya dentro de ella, sino que simplemente la pase tal cual al ensamblador. Con ello ejecutamos código en ensamblador desde C. Luego hay que entender ciertos aspectos internos de las CPU Intel. Éstas usan un registro llamado ESP para apuntar al elemento más alto de la pila. Ésta función devuelve el valor de ese registro (puedes ver %esp). También existe el registro EAX, que es dónde las funciones guardan el valor de retorno. Por ejemplo, cuando haces return 0;, en realidad la CPU pone un cero en el registro EAX antes de volver de la función. Por tanto nuestro código en ensamblador es: La instrucción push inserta un elemento en la pila y la instrucción pop saca un elemento de la pila. Estas instrucciones se encargan internamente de cargar/salvar el valor de/en la pila en el registro correspondiente y modificar ESP para que apunte al siguiente valor. Entonces metemos el valor del registro ESP en la pila y luego sacamos ese mismo valor en EAX, así ya lo tenemos incluso como valor de retorno, así que finalizamos directamente la función. Para los curiosos: no hemos hecho porque la instrucción mov en los procesadores x86 no acepta un registro de segmento como operando. Así que tenemos que recurrir al truco de la pila.
1044
« en: Lunes 25 de Mayo de 2009, 19:08 »
Ok, y ¿qué te arroja tu programa cuando lo ejecutas? No tengo entorno de Pascal ahora mismo.
1045
« en: Lunes 25 de Mayo de 2009, 19:06 »
Empieza por estudiar un poco Es broma, piensa primero en las clases (de C++ me refiero  ) que necesitas. Ten claro que nadie aquí te va a hacer la tarea, por si no has leído las normas.
1046
« en: Lunes 25 de Mayo de 2009, 18:40 »
Ten en cuenta que Windoze 98 no acepta caminos muy largos, prueba a poner el camino más corto que puedas, algo como C:prueba.bmp.
1047
« en: Lunes 25 de Mayo de 2009, 18:38 »
Aer, te lo corrijo, aunque deberías saber cómo corregirlo tú mismo, es muy sencillo. Yo es que estoy usando MinGW (un porte de gcc para Windows) en Win2000. int valor_pila() { __asm__("push %espnt" "pop %eax"); } int valor_monticulo() { int *p, valor; (void *)p = malloc(sizeof(int)); valor = (int) p; return valor; } int main(int argc, char *argv[]) { printf("Valor de la pila: %pn", (void *)valor_pila ()); printf("Valor del monticulo: %pn", (void *)valor_monticulo ()); return 0; }
De todas formas, te funciona bien, y no te falta ninguna librería porque si no no te compilaría, nene. Puedes ver que la dirección de la pila y el montículo cambia, cosa que no ocurre en mi Win 2K donde siempre son la misma. Sólo espero que hayas entendido el código, porque si te preguntan sobre ello...
1048
« en: Lunes 25 de Mayo de 2009, 11:42 »
No son errores, son avisos... ¿Seguro que lo has copiado tal cual...? A mí no me da todos esos avisos. Además, algo cambiaste, puesto que los errores que te da la primera vez, no son los de la segunda. De todas formas, te lo ha compilado, pero no lo has probado.
1049
« en: Lunes 25 de Mayo de 2009, 11:02 »
estoy trabajando con UBUNTU 9.04, en una portatil HP pavilion dv6000 Entonces es arquitectura x86 (Intel) personalmente no se cual es la diferencia entre esas memorias..... http://en.wikipedia.org/wiki/Dynamic_memory_allocationhttp://en.wikipedia.org/wiki/Stack_(data_structure) Para comprobar valores de pila y montón int valor_pila() { __asm__("push %espnt" "pop %eax"); } int valor_monticulo() { int *p, valor; valor = (int) p; return valor; } int main(int argc, char *argv[]) { printf("Valor de la pila: %pn", valor_pila ()); printf("Valor del monticulo: %pn", valor_monticulo ()); return 0; }
1050
« en: Lunes 25 de Mayo de 2009, 10:46 »
Eso que tienes es mucho espacio para la pila. Si lo haces como te digo, no tienes que cambiar nada en el código, los vectores son punteros  EDITO: por cierto, me equivoqué ligeramente en el código de malloc() que te puse, ya está corregido.
Páginas: 1 ... 40 41 [42] 43 44 ... 100
|
|
|