Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/05/2008, 02:08
GagleKas
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda super urgente!

Te recomiendo que en una linia de codigo solo pongas o float (en este caso double) o int, porque sino te va a dar mas de un dolor de cabeza, te lo digo por experiencia. Si teorico es double, k tambien ponlo a double, aunque nunca lo sea. Luego el 1.0 puedes quitarlo, el compilador ya reconoce que el 1 en realidad es 1.0000.
Luego haz lo mismo con la n. Si suma3 y suma2 son double pon la n tambien a double.

Si la n y la k las vas a utilizar para otra cosa y te resulta mas comodo trabajar con enteros, puedes hacer un cast. Justo antes de escribir la k y la n pon (double). Lo mismo con pow.

Ahora que me fijo en los printf has puesto lf... Sinceramente no se que es, prueba a poner solo una f.


El codigo quedaria asi:

Código:
char elec,nombre_archivo[20]; 
 int vector[10000];
 int i,n,k,j;
 int M[10][10];
 FILE *pf; 
 double suma,suma2,suma3,suma4,teorico;

 //test de uniformidad
                  
           suma=0;
           for(i=0; i<=n; i++) 
           {
                    suma += (double)pow(vector[i],k);
                    suma2=(suma);  
                    suma3=(suma2)/(double)n; 
           }
      
           teorico=(1/((double)k+1)); 
           printf("\nResultado del programa es %.12f y valor teorico es %.4f\n\n",suma3,teorico);
           
                  
         
         }

A ver si asi te funciona.

Última edición por GagleKas; 30/05/2008 a las 02:17