Exercice : Le calcul d'une moyenne
Le prototype de la fonction est devenu : void calculMoyennes(int nb, float *ptNotes[], float moyenne[]).
Complétez la séquence de calcul d'une moyenne.
L'incrémentation de la boucle for nous amène à déduire que ptNote est bien un pointeur comme son nom l'indique. L'initialisation se fera avec le pointeur sur la série de notes de l'élève i « ptNotes[i] ».
Le test d'arrêt de la boucle est la vérification du témoin « -1!=*ptNote ».
Enfin, pour le calcul de la moyenne, nous n'avons pas calculé le nombre de notes sommées mais, comme indiqué, nous utilisons l'arithmétique des pointeurs : « ptNote-ptNotes[i] » qui nous donne le nombre de float compris entre les 2 adresses.
1
void calculMoyennes(int nbEleve, float *ptNotes[], float moyenne[]){
2
float som;
3
float *ptNote ;
4
for( int i ; i<nbEleve ; ++i){
5
som=0.0 ;
6
ptNote = ptNotes[i];
7
for( ; -1!=*ptNote ; ++ptNote)
8
som+=*ptNote ;
9
moyenne[i]=som/(ptNote-ptNotes[i]) ;
10
}
11
return ;
12
}
13
void calculMoyennes(int nbEleve, float *ptNotes[], float moyenne[]){ float som; float *ptNote ; for( int i ; i<nbEleve ; ++i){ som=0.0 ; ptNote = ptNotes[i]; for( ; -1!=*ptNote ; ++ptNote) som+=*ptNote ; moyenne[i]=som/(ptNote-ptNotes[i]) ; } return ; }