Bonjour,
Voici un petit exemple :
#include <stdio.h>
int GetIndice
(
const int* paiTab // E:tableau
,int iTailleTab // E:longueur du tableau
,int iValeur // E:valeur à chercher
) // S:indice (-1 si valeur < tableau[0])
{
for (int i=iTailleTab-1 ; i>=0 ; --i)
if (iValeur >= paiTab[i]) return i;
return -1;
}
int main(void)
{
const int iTailleTab = 5;
int aiTab[iTailleTab] = {10,15,20,25,30};
printf("Indice de %d = %d\n",-9,GetIndice(aiTab,iTailleTab,-9));
printf("Indice de %d = %d\n",12,GetIndice(aiTab,iTailleTab,12));
printf("Indice de %d = %d\n",18,GetIndice(aiTab,iTailleTab,18));
printf("Indice de %d = %d\n",20,GetIndice(aiTab,iTailleTab,20));
printf("Indice de %d = %d\n",99,GetIndice(aiTab,iTailleTab,99));
return 0;
}
Ce qui donne :
Indice de -9 = -1
Indice de 12 = 0
Indice de 18 = 1
Indice de 20 = 2
Indice de 99 = 4
Jean-François