Exercice en c (j'ai besoin de votre aide)
Résolu/Fermé
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
-
16 janv. 2010 à 16:34
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 - 16 janv. 2010 à 17:54
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 - 16 janv. 2010 à 17:54
A voir également:
- Exercice en c (j'ai besoin de votre aide)
- Exercice informatique cm2 pdf ✓ - Forum Études / Formation High-Tech
- Triangle des textures exercice corrigé - Forum Loisirs / Divertissements
- Exercice word gratuit avec corrigé - Forum Word
- Tableau numérique exercice et corrigé - Forum Programmation
- Fleur d'encre 5eme corrigé exercice ✓ - Forum PDF
15 réponses
ks13
Messages postés
191
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
1 août 2011
23
16 janv. 2010 à 16:43
16 janv. 2010 à 16:43
Euh, j'ai plus ou moins compris ce que chaque variable veut dire dans ton code, mais tu pourrais Explicitement expliquer chacune des variables comme meme?
Car, a moins que j'ai mal compris ton code, tu demande au debut combien de notes d'eleves il y a => N
apres, tu demande pour chaque eleve les 3 notes => note1 note2 et note3
ensuite tu fais la moyenne des 3 notes de l'eleve => s et moy
puis tu calcules la somme des moyennes => sm
ensuite tu fais la moyenne de la classe => mc (???)
et pour finir tu definis la note minimum et maximum => min et max
C'est bien cela ou me serais je trompe?
Car, a moins que j'ai mal compris ton code, tu demande au debut combien de notes d'eleves il y a => N
apres, tu demande pour chaque eleve les 3 notes => note1 note2 et note3
ensuite tu fais la moyenne des 3 notes de l'eleve => s et moy
puis tu calcules la somme des moyennes => sm
ensuite tu fais la moyenne de la classe => mc (???)
et pour finir tu definis la note minimum et maximum => min et max
C'est bien cela ou me serais je trompe?
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 16:48
16 janv. 2010 à 16:48
RQ: on veut la somme des moyenne, j'ai pas compris pourquoi tu calcule note?
je crois qu'il faut faire :
sn=sn+moy
sn: somme des moyennes
mc:moyenne de la classe tu ecris après la boucle sur n:
mc=sn/n : la moyenne de la classe
pour la moyenne max et min on aura besoin de mmax et mmin
si la moyenne est la max donc mmax=moy
traduction:
tu initialise mmax= 0 et mmin=0 avant la boucle for et tu ajoute dans la boucle for
if (moy>mmax)
{ mmax=moy;
}
if(moy<mmin)
{mmin=moy;
}
j'espère que ça marchera^^
PS: je ne suis pas un informaticien ;)
je crois qu'il faut faire :
sn=sn+moy
sn: somme des moyennes
mc:moyenne de la classe tu ecris après la boucle sur n:
mc=sn/n : la moyenne de la classe
pour la moyenne max et min on aura besoin de mmax et mmin
si la moyenne est la max donc mmax=moy
traduction:
tu initialise mmax= 0 et mmin=0 avant la boucle for et tu ajoute dans la boucle for
if (moy>mmax)
{ mmax=moy;
}
if(moy<mmin)
{mmin=moy;
}
j'espère que ça marchera^^
PS: je ne suis pas un informaticien ;)
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
16 janv. 2010 à 16:51
16 janv. 2010 à 16:51
note1=informatique note2=comptabilité note3=gestion
note( c'est une variable qui stock la somme des note)
mc(moyenne de la classe) s(somme) moy(moyenne) min et max (le maximum et le minimum des notes qui seront affichés a la fin)........sn(somme des notes) voila!!
note( c'est une variable qui stock la somme des note)
mc(moyenne de la classe) s(somme) moy(moyenne) min et max (le maximum et le minimum des notes qui seront affichés a la fin)........sn(somme des notes) voila!!
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 16:54
16 janv. 2010 à 16:54
t'a compris au moins ma réponse? :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ks13
Messages postés
191
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
1 août 2011
23
16 janv. 2010 à 16:57
16 janv. 2010 à 16:57
Un autre probleme dans ton code : la somme des moyennes et la moyenne de la classe se fait apres que tu a donne toutes les notes normalement pas pendant la boucle.
Aussi, est-ce que tu fais la somme par eleve des 3 matieres ou par matiere de tous les eleves?
Si c'est par eleve tu fais la moyenne des 3 matieres en faisant la somme puis divisant par les coefs comme dans ton code, mais si c par matiere tu fais la somme des notes par matiere et tu divise par le nombre d'eleves.
Aussi, est-ce que tu fais la somme par eleve des 3 matieres ou par matiere de tous les eleves?
Si c'est par eleve tu fais la moyenne des 3 matieres en faisant la somme puis divisant par les coefs comme dans ton code, mais si c par matiere tu fais la somme des notes par matiere et tu divise par le nombre d'eleves.
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 17:07
16 janv. 2010 à 17:07
Solution :
#include<stdio.h>
#include<conio.h>
main(){
float mmin,mmax,mc,moy,s,note1,note2,note3,note,sn;
int n,i;
printf("donner n:");
scanf("%d",&n);
sn=0;
mmax=0;
mmin=20;
for(i=1;i<=n;i++)
{
printf("donner la note d'info:");
scanf("%f",¬e1);
printf("donner la note de compta:");
scanf("%f",¬e2);
printf("donner la note de gestion:");
scanf("%f",¬e3);
s=(note1*4)+(note2*3)+(note3*3);
moy=s/10;
sn=sn+moy;
printf("la moyenne est:%.2f\n",moy);
printf("\n");
if(moy>mmax)
{
mmax=moy;
}
if(moy<mmin)
{
mmin=moy;
}
} %fin boucle for
mc=sn/n
printf("la somme des notes est %.2f\n",sn);
printf("la moyenne de la classe est:%.2f\n",mc);
printf("\n");
printf("la moyenne minimale est: %.2f\n",mmin);
printf("la moyenne maximale est: %.2f\n",mmax);
getch();
return 0;
}
PS: le mmin doit etre initialisé en 20 ^^ pas en 0
#include<stdio.h>
#include<conio.h>
main(){
float mmin,mmax,mc,moy,s,note1,note2,note3,note,sn;
int n,i;
printf("donner n:");
scanf("%d",&n);
sn=0;
mmax=0;
mmin=20;
for(i=1;i<=n;i++)
{
printf("donner la note d'info:");
scanf("%f",¬e1);
printf("donner la note de compta:");
scanf("%f",¬e2);
printf("donner la note de gestion:");
scanf("%f",¬e3);
s=(note1*4)+(note2*3)+(note3*3);
moy=s/10;
sn=sn+moy;
printf("la moyenne est:%.2f\n",moy);
printf("\n");
if(moy>mmax)
{
mmax=moy;
}
if(moy<mmin)
{
mmin=moy;
}
} %fin boucle for
mc=sn/n
printf("la somme des notes est %.2f\n",sn);
printf("la moyenne de la classe est:%.2f\n",mc);
printf("\n");
printf("la moyenne minimale est: %.2f\n",mmin);
printf("la moyenne maximale est: %.2f\n",mmax);
getch();
return 0;
}
PS: le mmin doit etre initialisé en 20 ^^ pas en 0
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 17:10
16 janv. 2010 à 17:10
la moyenne min et max tu la veut par etudian ou bien par matière par etudiant?
ks13
Messages postés
191
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
1 août 2011
23
16 janv. 2010 à 17:17
16 janv. 2010 à 17:17
Voyons si on peut nettoyer un peu tout ce meli melo :
Personnelement j'ai vire quelques variables tout a fait inutiles et j'ai change la somme des notes, qui n'est pas demandee, en somme des moyennes.
Aussi, ceci est la methode pour avoir les moyennes par eleve, il faudra changer quelques lignes pour avoir la moyenne par matiere.
#include<stdio.h> #include<conio.h> main(){ float max,min,mc,moy,s,note1,note2,note3,note,sm; int n,i; printf("donner le nombre d'eleves:"); scanf("%d",&n); sm=0; max=0; min=0; for(i=1;i<=n;i++){ printf("donner la note d'info:"); scanf("%f",¬e1); printf("donner la note de compta:"); scanf("%f",¬e2); printf("donner la note de gestion:"); scanf("%f",¬e3); s=(note1*4)+(note2*3)+(note3*3); moy=s/10; sm=sm+moy; printf("la moyenne est:%.2f\n",moy); printf("\n"); if(max<note1){ max=note1; } elseif(max<note2){ max=note2; } elseif(max<note3){ max=note3; } if(min<note1){ min=note1; } elseif(min<note2){ min=note2; } elseif(min<note3){ min=note3; } mc = sm/n; printf("la somme des moyennes est %.2f\n",sm); printf("la moyenne de la classe est:%.2f\n",mc); printf("\n"); printf("la note minimale est: %.2f\n",min); printf("la note maximale est: %.2f\n",max); getch(); return 0; }
Personnelement j'ai vire quelques variables tout a fait inutiles et j'ai change la somme des notes, qui n'est pas demandee, en somme des moyennes.
Aussi, ceci est la methode pour avoir les moyennes par eleve, il faudra changer quelques lignes pour avoir la moyenne par matiere.
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
16 janv. 2010 à 17:20
16 janv. 2010 à 17:20
oui ce que je voulais vous dire la note max et min sera afficher : quand l'utilisateur faire entrer ses notes:
par exemple
donner n:3 ca veut dire le nombre de fois que la boucle sera répéter 3 fois
donc==> note1 : 15 note 2: 16 note3: 18
note1:14 note2: 10 note3: 17
note1:13 note2: 8 note3: 7
le resultat qui doit le programme affiche c'est
la somme des moyennes est: 15+14+13+16+10+8+18+17+7=118
la moyenne de la classe: 118/9=13.11
la note maximale est: 18 la note minimale est: 7 voila c'est l'idée général de l'enoncé
merci!!!
par exemple
donner n:3 ca veut dire le nombre de fois que la boucle sera répéter 3 fois
donc==> note1 : 15 note 2: 16 note3: 18
note1:14 note2: 10 note3: 17
note1:13 note2: 8 note3: 7
le resultat qui doit le programme affiche c'est
la somme des moyennes est: 15+14+13+16+10+8+18+17+7=118
la moyenne de la classe: 118/9=13.11
la note maximale est: 18 la note minimale est: 7 voila c'est l'idée général de l'enoncé
merci!!!
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 17:23
16 janv. 2010 à 17:23
ça n'a rien voir avec l'ennoncé xD
il est mal posé
il est mal posé
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 17:27
16 janv. 2010 à 17:27
tu es sur que t'a bien compris l'ennocé?
parceque tu confus note avec moyenne !
l'ennocé veut: les moyennes, la somme Des moyennes, la moyenne de la classe, la moyenne min et la moyenne max.
mais toi tu vx:
les moyennes, la somme Des notes, la moyenne des notes de toutes les matières de la classe, la note min et la note max.
parceque tu confus note avec moyenne !
l'ennocé veut: les moyennes, la somme Des moyennes, la moyenne de la classe, la moyenne min et la moyenne max.
mais toi tu vx:
les moyennes, la somme Des notes, la moyenne des notes de toutes les matières de la classe, la note min et la note max.
ks13
Messages postés
191
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
1 août 2011
23
16 janv. 2010 à 17:30
16 janv. 2010 à 17:30
Oula, je crois que tu dois reviser tes maths, la somme des moyennes c'est pas la somme des notes comme tu viens de l'ecrire.
La somme des moyennes serait, dans ton exemple,
sommemoy = (15*4 + 16*3 + 18*3)/10 + (14*4+10*3+17*3)/10 + (13*4+8*3+7*3)/10
et la moyenne de la classe serait
moyclasse = sommemoy/3 (car 3 eleves)
A moins que les maths ont change dans les dernieres 2 ans a l'ecole, je ne pense pas me tromper. Mais voila le probleme resolu : le probleme venais de ta facon de calculer les moyennes :)
La somme des moyennes serait, dans ton exemple,
sommemoy = (15*4 + 16*3 + 18*3)/10 + (14*4+10*3+17*3)/10 + (13*4+8*3+7*3)/10
et la moyenne de la classe serait
moyclasse = sommemoy/3 (car 3 eleves)
A moins que les maths ont change dans les dernieres 2 ans a l'ecole, je ne pense pas me tromper. Mais voila le probleme resolu : le probleme venais de ta facon de calculer les moyennes :)
Majorak
Messages postés
224
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2014
40
16 janv. 2010 à 17:34
16 janv. 2010 à 17:34
Tésté et Approuvé par moi meme
#include<stdio.h>
#include<conio.h>
main(){
float mmin,mmax,mc,moy,s,note1,note2,note3,note,sn;
int n,i;
printf("donner n:");
scanf("%d",&n);
sn=0;
mmax=0;
mmin=20;
for(i=1;i<=n;i++)
{
printf("donner la note d'info pour l'etudiant %d:",i);
scanf("%f",¬e1);
printf("donner la note de compta pour l'etudiant %d:",i);
scanf("%f",¬e2);
printf("donner la note de gestion pour l'etudiant %d:",i);
scanf("%f",¬e3);
s=(note1*4)+(note2*3)+(note3*3);
moy=s/10;
sn=sn+moy;
printf("la moyenne est:%.2f\n",moy);
printf("\n");
if(moy>mmax)
{
mmax=moy;
}
if(moy<mmin)
{
mmin=moy;
}
}
mc=sn/n ;
printf("la somme des moyennes est %.2f\n",sn);
printf("la moyenne de la classe est:%.2f\n",mc);
printf("\n");
printf("la moyenne minimale est: %.2f\n",mmin);
printf("la moyenne maximale est: %.2f\n",mmax);
getch();
return 0;
}
#include<stdio.h>
#include<conio.h>
main(){
float mmin,mmax,mc,moy,s,note1,note2,note3,note,sn;
int n,i;
printf("donner n:");
scanf("%d",&n);
sn=0;
mmax=0;
mmin=20;
for(i=1;i<=n;i++)
{
printf("donner la note d'info pour l'etudiant %d:",i);
scanf("%f",¬e1);
printf("donner la note de compta pour l'etudiant %d:",i);
scanf("%f",¬e2);
printf("donner la note de gestion pour l'etudiant %d:",i);
scanf("%f",¬e3);
s=(note1*4)+(note2*3)+(note3*3);
moy=s/10;
sn=sn+moy;
printf("la moyenne est:%.2f\n",moy);
printf("\n");
if(moy>mmax)
{
mmax=moy;
}
if(moy<mmin)
{
mmin=moy;
}
}
mc=sn/n ;
printf("la somme des moyennes est %.2f\n",sn);
printf("la moyenne de la classe est:%.2f\n",mc);
printf("\n");
printf("la moyenne minimale est: %.2f\n",mmin);
printf("la moyenne maximale est: %.2f\n",mmax);
getch();
return 0;
}
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
16 janv. 2010 à 17:36
16 janv. 2010 à 17:36
merci pour toussss!!!
ks13
Messages postés
191
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
1 août 2011
23
16 janv. 2010 à 17:54
16 janv. 2010 à 17:54
Ow, je dois avouer que je vois ou j'ai fait l'erreur Majorak, ca me desole de voir que j'ai pu ommetre ce detail u_u
Par contre, je pense qu'on peut changer
en
Par contre, je pense qu'on peut changer
s=(note1*4)+(note2*3)+(note3*3); moy=s/10;
en
moy=((note1*4)+(note2*3)+(note3*3))/10