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