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

#701
¡Buenas!

Tu solucion ne parece elegante, ahora lo explico. Te falte algun detalle, dividir mientras se pueda por el divisor dado y acumular el divisor en otra variable. Si tenemos la descomposicion en factores primos del numero, p1^n1*...*pk^nk, suponiendo que los pi esten ordenados de menor a mayor, mientras vas recorriendo el bucle de divisores encontraras el primer divisor posible, p1. Y tendras que hacer:

guadar el divisor en la variable auxiliar.

[en este paso eliminas p1^n1 como factor del numero]
mientras puedas dividir el numero por p1

    numero = numero / p1;

fin mientras

Esto lo haras con cada uno de los divisores que encuentres (Solo pueden ser primos por lo que ya he mencionado). En cuanto llegues al ultimo divisor, numero saldra con valor 1 del bucle, i > numero, saldra del bucle for y tendras acumulado en la variable auxiliar el ultimo (y mayor) divisor primo del numero. No se si sera el mejor metodo para calcular el mayor divisor primo, pero con unas pocas modificaciones puedes obtener la descomposicion en factores primos del numero dado.


for(i = 2 ; i < numero ; i++)
{
    if(numero % i == 0)
    {
        aux = i;

        while(numero % i == 0)
            numero /= i;
    }
}

//aux saldra del for con el valor del mayor divisor primo.

¡Saludos!

#702
¡Buenas!

Tienes un  gran error en tu primer codigo. Estas multiplicando la variable suma por algo sin haberla inicializado, por lo que en principio puede tener cualquier valor, incluido el cero (es mas, en C++ creo que se inicializa a cero por defecto). Por lo que cualquier resultado de multiplicar suma por otro valor podria ser siempre cero, lo que te daria un falso negativo en la busqueda de primos. Tienes que inicializar suma a uno.

Intenta inicializar las variables o hacerles una asignacion antes de utilizarlas con un valor que tenga sentido con el uso que les vayas a dar.

¡Saludos!
#703
¡Buenas!

A parte de la logica de tu codigo (solo intentas mostrar numeros primos menores que un valor dado, pero no compruebas que sean factores de dicho numero), el problema esta en que estas tratando con elementos mayores que un entero de 4 bytes. Si no puedes manejar enteros de mas de 4 bytes, es posible que tengas que recurrir a reglas de divisibilidad (que no siempre son evidentes)... En este momento no se me ocurre nada mas, aunque seguro que hay algo... (pero no lo veo XD)

¡Saludos!
#704
¡Buenas!

Si mal no recuerdo %[^secuencia] rastrea caracteres desde la entrada hacia una una cadena (con scanf) hasta que encuentra uno que pertenece a la lista (es decir, devuelve desde la entrada, el segmento inicial hacia la cadena que se pasa como argumento a scanf que no esta compuesto por caracteres de la secuencia). %[secuencia] seria lo contrario, devolveria el segmento inicial de la carena indicada que este formado solo por caracteres de la secuendia indicada.

ejemplo:

#include <stdio.h>

int main(int argc, char *agrv[])
{
   char s1[10] = "", s2[10] = "";

   scanf("%[abc]",s1); //leemos de la entrada la secuencia inicial formada por caracteres a,b o c.

   while(getchar() != '\n'); //descartamos los caracteres que queden.

   scanf("%[^abc]",s2); //leemos de la entrada la secuencia inicial no formada por caracteres a,b o c.

   while(getchar() != '\n'); //descartamos los caracteres que queden.

   printf("%s\n,%s\n",s1,s2);

    printf("Pulsar intro...");
    while(getchar() != '\n');

   return 0;
}



¡Saludos!
#705
¡Buenas!

Siento haberte dado una respuesta que no te sirva, pero todo este tema de manipular codigo maquina de un ejecutable, creo que pertenece, como ya te he dicho, al apartado de ingenieria inversa. Te podria indicar lo que pienso sobre el tema, pero no dejaria de ser un conjunto de pensamientos sobre un tema que no conozco, ya que del header de un PE no tengo ni idea. No se como agregar permiso de lectura/escritura/ejecucion a segmentos de codigo que no lo tienen. Tampoco se agregar codigo maquina a un ejecutable... todo esto, tal y como la entiendo, forma parte de la ingenieria inversa...

¡Saludos!
#706
¡Buenas!

Como bien he dicho en el primer post, ya he dado permiso de admiministrador a mi programa. Y el funciona perfectamente desde cualquier otro directorio. Lo unico que me queda es enterarme de como cambiar privilegios y permisos bajo win7, pero supongo que el hecho de ejecutarlo como administrador ya otorga todos los permisos posibles al ejecutable, por lo que sigo sin entender como el programa no funciona bajo ese directorio como deberia...

¡Saludos!
#707
A ver. Las matematicas, sin una teoria que fundamente los resultados practicos, no son nada. Las matematicas no son un conjunto de teoremas, proposiciones y lemas, sino que son un conjunto de axiomas de los que se derivan todos los resultados anteriormente mencionados. No dejan de ser un proceso logico del que derivan nuevos resultados, que luego se aplican al analisis y a las matematicas aplicadas (que no dejan de ser puro chamanismo topologico o numerico, y lo digo como estudiante de matematicas). El que no quiera ver eso es que es realmente estupido y/o no quiere ver o entender todo el proceso logico que hay detras de cada demostracion y/o lo aprende de memoria y es igualmente incapaz de aplicar la logica a estos procesos. Al final, el que tiene interes por el tema termina desarrollando una intuicion logica que el resto de la gente no posee y bien la quisiera.

Si en el colegio os enseñan trigonometria, polinomios o geometria y no sabeis aplicarlo en vuestro entorno, es que o bien vuestro profesor no vale nada o sois realmente lalalalalalalala (ahi me habia pasado).

¡Saludos!
#708
Cita de: wolfbcn en  4 Julio 2012, 01:59 AM
Como usuario tengo presente una cuestión de fondo. Cuando adquiero un equipo, una vez que abono el importe de su precio es de mi propiedad, e instalo en él lo que tengo a bien instalar. Si algún fabricante pone especialmente difícil mi afición a probar cualquier sistema, no compraré sus productos.

Completamente correcto. Y tengo que remarcar, que tanto Fedora como Ubuntu, cada uno a su manera, se han bajado los pantalones hasta los tobillos.

¡Saludos!
#709
Cita de: EleKtro H@cker en  3 Julio 2012, 17:54 PM
Obviamente el error "No such file or direcotory" no existe en la CMD, Es un error de tu aplicación, El que no encuentra el archivo es tu programa. ¿En que lenguaje lo has creado?

Esta en C, y los unicos dos ficheros que no me abre son los ya mencionados. Y ya he dicho que type si me reconoce los archivos...

El enlace al zip con el ejecutable y el txt

Teneis que descomprimir el contenido en c:\windows\system32 ya que la ruta de acceso al fichero de texto esta hardcodeada para que se encuentre en este directorio. Sino, tambien podeis entrar a traves de la consola y teclear hedhex comandos.txt dentro de c:\windows\system32, a ver si os pasa como a mi y no os abre el fichero o si os lo abre contadmelo.

¡Saludos!
#710
¡Buenas!

Preguntalo en ingenieria inversa... supongo que alli podran explicartelo bien.

¡Saludos!