Vous avez vu dans le corrigé de la première question un exemple complet avec une fonction, une fonction annexe ainsi qu’un programme principal faisant appel à la première fonction, puis à la seconde en lui passant le résultat de la première.
Il y avait également dans ce corrigé là quelques commentaires pour vous expliquer comment on a évité quelques-unes des erreurs les plus récurrentes.
Dans ce qui suit et dans les corrigés suivants, nous nous limiterons à répondre à la question sans fournir un programme principal et sans répéter les commentaires précédents.
/** * Tester l'existence d'une valeur donnée val dans un tableau trié (en ordre croissant) de n entiers. * @param val * @param tab * @param n * @returns -1 si la valeur val n'existe pas dans le tableau, sinon la position de la première occurrence est retournée */ int existence_val( int const val, int const tab[], int const n) { if ( 0 == n ) { return -1; } int i = 0; while ( n - 1 > i && val > tab[i] ) { i++; } //printf("i: %d\ttab_i: %d\n", i, tab[i]); // Ce type d'affichage peut être utile pour le débogage/débugage. if( tab[i] == val ) { return i; } return -1; }