C/Visual C - Problema de calculo en arrays dinamicos

   
Vista:

Problema de calculo en arrays dinamicos

Publicado por Niff (2 intervenciones) el 26/12/2009 13:29:39
Holas, estoy teniendo un problema con un programilla bastante simple que lo unico que hace es implementar una formula.

No obstante, los resultados de las variables que obtengo es siempre el mismo y es incorrecto. Llevo unos dias intentando resolver el error, y no lo veo por ningun lado. Tiene que ser algo basico que desconozco. aqui les dejo el codigo, gracias de antemano

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
int npuntos, i, z;
float j=0, m=0, n=0, a1, sx=0, sy=0, valor;
float *x, *fx;

printf("introduzca el numero de valores que tiene de la funcion:\n");
scanf("%d", &npuntos);

// Creamos vectores
x=(float *)malloc (npuntos*sizeof (float));
fx=(float *)malloc (npuntos*sizeof (float));

//1º Introduciremos la informacion de los puntos en dos arrays, uno con los valores de x y otro con los de f(x)
for (i=0; i<npuntos; i++)
{
printf("\n\nIntroduzca el %dº valor de x y de f(x)", i+1);
printf("\nx= ");
scanf("%f", &valor);
x[i]=valor;
printf("\nf(x)= ");
scanf("%f", &valor);
fx[i]=valor;
}
// ojo! HASTA AQUI TODO PERFECTO, HE COMPROBADO QUE LOS DATOS HAN SIDO INTRODUCIDOS CORRECTAMENTE, AQUI ES DONDE VIENE EL PROBLEMA, NINGUNA DE LAS 4 VARIABLES TOMAN EL VALOR QUE DEBERIAN, SIEMPRE TIENEN EL MISMO INDEPENDIENTEMENTE DE LOS VALORES DE X Y FX

for(i=0; i<npuntos; i++);
{
j = j + (x[i])*(fx[i]); // j = sumatorio X*F(X)
sx = sx + x[i]; // sx = sumatorio de x
sy = sy + fx[i]; // sy = sumatorio de y
m = m + pow(x[i],2); // m = sumatorio de x^2
}
printf("\nSumatorio x*f(x)= %f,\nSumatorio x= %f,\nSumatorio f(x)= %f,\nSumatorio (x^2) %f\n", j, sx, sy, m);
a1 = (j - (sx*sy))/(m - pow(sx, 2));
printf("\n\nEl punto de corte con el eje x lo estimamos en %f", a1);

// Destruimos vectores
free (x);
free (fx);
getch();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema de calculo en arrays dinamicos

Publicado por Tom (481 intervenciones) el 28/12/2009 11:52:01
Bueno, tienes un fallo tontísimo, de los que vuelven a uno loco !!! :-D

El segundo ciclo for(i=0; ...) ... ¡¡ lleva ';' detrás ... y lógicamente, no debería.

Ya te dejo que imagines qué pasa por eso :D

Te aseguro que me ha costado un rato ver el error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema de calculo en arrays dinamicos

Publicado por Niff (2 intervenciones) el 28/12/2009 12:10:23
buffff, llevo dos dias mirando ese bucle y no he visto el ;

Muchisimas gracias ; ) me voy a dar cabezazos contra la pared un ratillo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar