Programmer en langage C
122
© Éditions Eyrolles
S’il ne s’agissait que de calculer simplement la moyenne de ces notes, il nous suffirait d’en
calculer la somme, en les cumulant dans une variable, au fur et à mesure de leur lecture. Mais,
ici, il nous faut à nouveau pouvoir consulter les notes pour déterminer combien d’entre elles
sont supérieures à la moyenne ainsi obtenue. Il est donc nécessaire de pouvoir mémoriser ces
vingt notes.
Pour ce faire, il paraît peu raisonnable de prévoir vingt variables scalaires différentes (méthode
qui, de toute manière, serait difficilement transposable à un nombre important de notes).
Le tableau va nous offrir une solution convenable à ce problème, comme le montre le programme suivant.
La déclaration :
int t[20]
réserve l’emplacement pour 20 éléments de type int. Chaque élément est repéré par sa position dans le tableau, nommée indice. Conventionnellement, en langage C, la première position
porte le numéro 0. Ici, donc, nos indices vont de 0 à 19. Le premier élément du tableau sera
désigné par t[0], le troisième par t[2], le dernier par t[19].
Plus généralement, une notation telle que t[i] désigne un élément dont la position dans le
tableau est fournie par la valeur de i. Elle joue le même rôle qu’une variable scalaire de type int.
La notation &t[i] désigne l’adresse de cet élément t[i] de même que &n désignait l’adresse
de n.
Exemple d’utilisation d’un tableau
#include
main()
{ int i, som, nbm ;
float moy ;
int t[20] ;
for (i=0 ; i<20 ; i++)
{ printf ("donnez la note numéro %d : ", i+1) ;
scanf ("%d", &t[i]) ;
}
for (i=0, som=0 ; i<20 ; i++) som += t[i] ;
moy = som / 20 ;
printf ("\n\n moyenne de la classe : %f\n", moy) ;
for (i=0, nbm=0 ; i<20 ; i++ )
if (t[i] > moy) nbm++ ;
printf ("%d élèves ont plus de cette moyenne", nbm) ;
}
Delannoy Livre.book Page 122 Mercredi, 6. mai 2009 4:26 16
122
© Éditions Eyrolles
S’il ne s’agissait que de calculer simplement la moyenne de ces notes, il nous suffirait d’en
calculer la somme, en les cumulant dans une variable, au fur et à mesure de leur lecture. Mais,
ici, il nous faut à nouveau pouvoir consulter les notes pour déterminer combien d’entre elles
sont supérieures à la moyenne ainsi obtenue. Il est donc nécessaire de pouvoir mémoriser ces
vingt notes.
Pour ce faire, il paraît peu raisonnable de prévoir vingt variables scalaires différentes (méthode
qui, de toute manière, serait difficilement transposable à un nombre important de notes).
Le tableau va nous offrir une solution convenable à ce problème, comme le montre le programme suivant.
La déclaration :
int t[20]
réserve l’emplacement pour 20 éléments de type int. Chaque élément est repéré par sa position dans le tableau, nommée indice. Conventionnellement, en langage C, la première position
porte le numéro 0. Ici, donc, nos indices vont de 0 à 19. Le premier élément du tableau sera
désigné par t[0], le troisième par t[2], le dernier par t[19].
Plus généralement, une notation telle que t[i] désigne un élément dont la position dans le
tableau est fournie par la valeur de i. Elle joue le même rôle qu’une variable scalaire de type int.
La notation &t[i] désigne l’adresse de cet élément t[i] de même que &n désignait l’adresse
de n.
Exemple d’utilisation d’un tableau
#include
main()
{ int i, som, nbm ;
float moy ;
int t[20] ;
for (i=0 ; i<20 ; i++)
{ printf ("donnez la note numéro %d : ", i+1) ;
scanf ("%d", &t[i]) ;
}
for (i=0, som=0 ; i<20 ; i++) som += t[i] ;
moy = som / 20 ;
printf ("\n\n moyenne de la classe : %f\n", moy) ;
for (i=0, nbm=0 ; i<20 ; i++ )
if (t[i] > moy) nbm++ ;
printf ("%d élèves ont plus de cette moyenne", nbm) ;
}
Delannoy Livre.book Page 122 Mercredi, 6. mai 2009 4:26 16
