cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 11 nov. 2004 à 12:15
printf("somme de x :%f\n",somme(n,x[i]));
printf("somme de x²:%f",somme(n,z[i]));
Remplace par :
printf("somme de x :%f\n",somme(n,x));
printf("somme de x²:%f",somme(n,z));
Toi tu passais un element, et ta fonction reclame un pointeur sur un tab de float. Dans le proto de ta fonction somme, float y[50] <=> float *y, je trouve plus clair de mettre un pointeur car je suis sur ke tu pensais limiter la taille du tableau en mettant [50], alors ke tu peux passer un tab a 1000 elements, et ca marchera.
Et enfin, remplace float i, n; par int i, n;, tu n'as pas besoin de passer par des 'nombres a virgule' kan tu veux recuperer le nombre de nombres ke l'user va entrer, et pareil ds la boucle for.
Et si user rentre 1000, ton prog plante ! C'est un bon exemple d'utilisation d'alloc dynamik (malloc...etc).
Voila, ca devrait marcher maintenant je pense ;) Et aussi, a l'avenir, precise si c erreur de compil ou d'execution.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 11 nov. 2004 à 13:58
-x[i] ne va pas marcher avec i flottant il faut absolument un entier.
-C'est bizarre de mettre un prototype à l'intérieur d'une autre fonction, je trouve pas ca très lisible
-Tu peux remplacer &x[i] par x + i
-Dans la fonction somme, tu dois initialiser la variable som à zero, ca ne se fait pas tout seul