Conclusion


Ainsi dans l'exemple suivant enleveValeurs ne retourne pas de valeur mais modifie le tableau t et *nbElem alors que enleveValeursbis modifie le tableau t et retourne le nombre d'éléments restant dans t.

void enleveValeurs(float t[], float r, int* nbElem)

{

int i=0,j;

while (i<(*nbElem))

if (t[i] == r)     // on a trouvé un r

    {    // on décale tout le reste à gauche

    for (j=i; j<(*nbElem)-1; j++)   

        t[j] = t[j+1];

    (*nbElem)--;

    }

else i++;      // sinon on avance dans t

}

int enleveValeursbis(float t[], float r, int nbElem)

{

int i=0,j;

while (i< nbElem)

    if (t[i] == r)

    {

        for (j=i; j<nbElem-1; j++)

            t[j] = t[j+1];

        nbElem--;

    }

    else i++;

return(nbElem);

}


suivant
        plan