Pour un tableau
initialisé partiellement et de manière dispersée
(le cas le moins courant):
Il faut parcourir tout le tableau et se poser la question à
chaque élément s'il est initialisé ou non ==>
une boucle for sur la
taille du tableau.
exemple 1:
Avec une marque de non initialisation dans le tableau
Soit le tableau tab initialisé comme suit (-1 indique que
l'élément n'est pas initialisé):
12
|
-1
|
-1
|
-1
|
14
|
-1
|
-1
|
-1
|
-1
|
-1
|
for
(i=0; i<taille; i++) /* parcourir tous les
éléments du tableau */
{
if (tab[i] !=
-1) /* Si
l'élément est initialisé */
tab[i]=tab[i]+2; /*
incrémenter de 2
l'élément i du tableau tab */
}
exemple 2: Avec
un second tableau qui mémorise les éléments
initialisés
Soit le tableau tab
initialisé comme suit :
Et le tableau init qui
mémorise (par 1) les éléments initialisés
dans tab :
for (i=0; i<taille; i++) /*
parcourir tous les
éléments du tableau tab*/
{
if (init[i] ==
1) /* Si
l'élément est initialisé */
tab[i]=tab[i]+2; /*
incrémenter de 2
l'élément i du tableau tab */
}
suivant
plan