Pour un tableau à
initialiser consécutivement par l'utilisateur (le cas le plus
courant):
Il faut parcourir le tableau tant que l'utilisateur le souhaite et
demander chacune des valeurs du tableau.
Premier cas: On demande d'abord à l'utilisateur le nombre d'éléments
à initialiser. On sait donc le nombre d'itération avant
l'initialisation ==> une boucle for.
exemple:
int taille = 10;
int tab[taille]; /* tableau non
initialisé de 10 entiers */
int nbEffectif ; /*
le nombre d'éléments initialisés du tableau
(inconnu pour l'instant) */
demander("Combien d'éléments voulez vous initialiser?",
nbEffectif);
for (i=0; i<nbEffectif; i++) /* parcourir tous les
éléments effectifs du tableau */
demander("Valeur de
cet élément?:", tab[i]); /* on
demande la valeur du ième élément */
Second cas: On demande à l'utilisateur
à chaque fois s'il veut continuer l'initialisation. On ne connait pas à l'avance
le nombre d'itération et on n'est pas sûr de rentrer une
fois dans la boucle ==> un while.
exemple:
int taille = 10;
int tab[taille]; /* tableau non
initialisé de 10 entiers */
int nbEffectif ; /*
le nombre d'éléments initialisés du tableau
(inconnu pour l'instant) */
char rep; /* pour la réponse de l'utilisateur */
int i =0; /* indice
pour l'itétarative */
demander("Voulez vous initialiser au moins un élément du
tableau?", rep);
while ((rep == 'o') && (i < taille)) /* tant
que l'utilisateur le veut et que la fin du tableau n'est pas atteinte */
{
demander("Valeur de cet
élément?:", tab[i]); /* on demande la
valeur du ième élément */
demander("Voulez vous continuer?:", rep);
i++;
}
nbEffectif = i;
suivant
plan