Calcul de moyenne
Fermé
fatalix
Messages postés
4
Date d'inscription
samedi 1 juin 2013
Statut
Membre
Dernière intervention
1 juin 2013
-
1 juin 2013 à 11:19
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 1 juin 2013 à 16:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 1 juin 2013 à 16:29
A voir également:
- Calcul de moyenne
- Calcul moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel calcul surface terrain gratuit - Télécharger - Outils professionnels
- Formule de calcul excel - Guide
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
1 juin 2013 à 12:36
1 juin 2013 à 12:36
float i,A,B,P,E,U,I,M;
Les variables globales ne sont pas conseillées. Il vaut mieux les mettre en local. Tu te sers de i comme int (for) mais tu le déclares en tant que float. Pourquoi ? int i; est beaucoup mieux...
float main(float argc, float *argv[])
Original...
Le prototype est : int main(int argc, int *argv[]) ou int main(void). Aucun autre est accepté.
Pour faire la moyenne, ben, tu fais une boucle for pour additionner toutes les valeurs et tu divises par le nombre d'éléments. Et pour écrire dans le fichier, tu utilises fprintf(). C'est quoi qui te pose problème ?
Cdlt,
Les variables globales ne sont pas conseillées. Il vaut mieux les mettre en local. Tu te sers de i comme int (for) mais tu le déclares en tant que float. Pourquoi ? int i; est beaucoup mieux...
float main(float argc, float *argv[])
Original...
Le prototype est : int main(int argc, int *argv[]) ou int main(void). Aucun autre est accepté.
Pour faire la moyenne, ben, tu fais une boucle for pour additionner toutes les valeurs et tu divises par le nombre d'éléments. Et pour écrire dans le fichier, tu utilises fprintf(). C'est quoi qui te pose problème ?
Cdlt,
fatalix
Messages postés
4
Date d'inscription
samedi 1 juin 2013
Statut
Membre
Dernière intervention
1 juin 2013
1 juin 2013 à 12:52
1 juin 2013 à 12:52
je n'arrive pas apprendre toutes les valeurs, à chaque fois je n'ai que la dernière.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
1 juin 2013 à 13:11
1 juin 2013 à 13:11
Ah oui, et j'oubiais :
return 0;
return 0;
CloseDevice(0);
Inutile de mettre un double return 0. Et le CloseDevice(0) après le return 0 ne sert à rien. Il faut mettre :
CloseDevice(0);
return 0;
je n'arrive pas apprendre toutes les valeurs, à chaque fois je n'ai que la dernière.
Bah normal, puisque à chaque itération tu fais E=...; donc tu écrases l'ancienne valeur.
Il faudrait déclarer : float somme=0;
Juste après E=...;, mettre somme+=E;
Et enfin, avant d'afficher la moyenne (donc après la boucle for); tu calcules somme/9 parce que tu as lu 9 valeurs.
return 0;
return 0;
CloseDevice(0);
Inutile de mettre un double return 0. Et le CloseDevice(0) après le return 0 ne sert à rien. Il faut mettre :
CloseDevice(0);
return 0;
je n'arrive pas apprendre toutes les valeurs, à chaque fois je n'ai que la dernière.
Bah normal, puisque à chaque itération tu fais E=...; donc tu écrases l'ancienne valeur.
Il faudrait déclarer : float somme=0;
Juste après E=...;, mettre somme+=E;
Et enfin, avant d'afficher la moyenne (donc après la boucle for); tu calcules somme/9 parce que tu as lu 9 valeurs.
fatalix
Messages postés
4
Date d'inscription
samedi 1 juin 2013
Statut
Membre
Dernière intervention
1 juin 2013
1 juin 2013 à 13:30
1 juin 2013 à 13:30
Merci beaucoup sa fonctionne enfin. Juste une petite question, si je veux faire par exemple, la moyenne de 5 valeurs E, ainsi de suite, je fais comment?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
1 juin 2013 à 14:45
1 juin 2013 à 14:45
Bah t'additionnes les 5 valeurs et tu divises par 5... C'est exactement le même principe qu'évoqué ci-dessus.
fatalix
Messages postés
4
Date d'inscription
samedi 1 juin 2013
Statut
Membre
Dernière intervention
1 juin 2013
1 juin 2013 à 14:51
1 juin 2013 à 14:51
ok mais juste prendre les 5 premiers E faire la moyenne, puis prendre les 5 valeurs suivantes faire la moyenne ainsi de suite.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 1/06/2013 à 16:29
Modifié par fiddy le 1/06/2013 à 16:29
Toujours le même principe...
Tu fais un for de 5, tu initiales somme à 0 avant le for. Dans le for, tu fais somme+=E.
A la fin du for, tu calcules la moyenne somme/5. Et tu recommences à l'instruction "somme = 0".
Ce qui donne :
Tu fais un for de 5, tu initiales somme à 0 avant le for. Dans le for, tu fais somme+=E.
A la fin du for, tu calcules la moyenne somme/5. Et tu recommences à l'instruction "somme = 0".
Ce qui donne :
while(...) { int i; double somme=0; for(i=0;i<5;i++) { ... E=...; somme+=E; } printf("moyenne : %lf\n", somme/5); }