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

#721
¡Buenas!

El otro dia, entre en un bar y todo el mundo estaba con la mirada fija en mi y babeando por la comisura del labio. Al principio me acojone, pero luego me di cuenta de que tenia la tele detras y solo estaban viendo el partido de la eurocopa...

¡Saludos!
#722
XD, vaya idiotez que habia puesto. Eso me pasa por no leer bien las cosas.

Lo que pasa es que el factorial crece muy rapido, y los enteros en C, ocupan una cantidad finita de bytes (supongo que con los procesadores actuales cuatro u ocho bytes). En cuanto te pasas de esa cantidad supongo que almacenara los bytes de menor peso del resultado (aunque no puedo asegurarlo, solo lo supongo), es por eso que te aparecen numeros extraños.

Tienes dos opciones. Utilizar una libreria para manejar enteros arbitrariamente grandes (huge int, creo que se llaman...), o crearte tu tu propio tipo de dato entero para que no tenga limites, por ejemplo, utilizando vectores.

¡Saludos!
#723
Programación C/C++ / Re: Programa for
30 Junio 2012, 09:22 AM
¡Buenas!

Tampoco inicialices mayor a cero, ya que tambien te dara valores no deseados si todos los elementos son negativos.

Tendras que leer el primer dato, asumir que tanto mayor como menor son iguales a este, y luego comparar los sucesivos datos con estos dos.

¡Saludos!
#724
¡Buenas!

for(i = 1; i <= n; i++)
{
    printf("\n");
    for(j = 1; j<=n; j++)
    {
        fscanf(entrada,"%d",&g[i][j]);fflush(stdin);
        printf("%d ",g[i][j]);
    }
}

int g[n][n];

for(i = 1; i <= n; i++)
{
    printf("\n");
    for(j = 1; j<=n; j++)
    {
        fscanf(entrada,"%d",&g[i][j]);fflush(stdin);
        printf("%d ",g[i][j]);
    }
}


Varias cosas. Primero, utiliza las etiquetas GeSHi para poner codigos, sino esto es ilegible.

Utilizas g antes de declararla, y te estas saliendo de rango con los subindices.

fflush solo se debe utilizar sobre flujos de salida. si sabes que alguna funcion de lectura puede dejar datos en stdin, limpialo a mano:


int c;

//lectura
while((c = getchar()) != '\n' && c != EOF); //para limpiar la entrada


No he seguido leyendo porque, como ya te he dicho, es horroroso tener que leer ese codigo sin tabulaciones ni las correspondientes etiquetas de codigo. Repasa el resto de codigo.

¡Saludos!
#725
Programación C/C++ / Re: Problema ejercicio
29 Junio 2012, 23:45 PM
Código (cpp) [Seleccionar]

Fraccion suma = f1.Suma(f2);
Fraccion resta = f1.Resta(f3);
Fraccion producto = f1.Multiplica(f4);
Fraccion cociente = f1.Divide(f2);


Si cada uno de estos metodos esta devolviendo cero, estas asignando cero a cada una de las variables.

Siempre puedes devolver una referencia al objeto que invoca a las funciones:
Código (cpp) [Seleccionar]

return *this;
#726
¡Buenas!

Si prefieres no trabajar directamente con gcc, puedes instalarte codeblocks:

sudo apt-get install codeblocks (creo)

Asi tienes un ide y ya no tienes porque preocuparte de enlazar las librerias a mano.

¡Saludos!
#727
¡Buenas!

Lo que no entiendo es como no te reconoce las funciones de math.h si has hecho el include... En principio no tendrias porque tener ningun problema...

¡Saludos!

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

PD: Leyendo por ahi, he encontrado que a gcc hay que especificarle donde estan las funciones de math.h... Como en la solucion que has dado. XD
#728
¡Buenas!

Si estas trabajando con C no puedes utilizar & para realizar llamadas por referencia. En C no existen las referencias propiamente dichas, eso es cosa de C++. Tendras que utilizar punteros para simular referencias. Por lo tanto, tanto en el prototipo como en la definicion de la funcion, tendras que utilizar punteros en la lista de parametros, y en la llamada a la funcion tendras que pasar la direccion de la variable (&).

¡Saludos!
#729
Programación C/C++ / Re: Problema ejercicio
29 Junio 2012, 17:51 PM
¡Buenas!

Estas devolviendo cero para todas las operaciones.

¡Saludos!
#730
¡Jajajaja!

Me has dejao patasarriba.  ;-)

Ya me acuerdo yo de ese chaparron. Asi que la culpable fuiste tu... grrr... y yo esperandome para tender la ropa.

Para ser mañica poco acento tienes...

¡Saludos y a seguir igual de bien!