begin process at 2008 09 05 11:25:37
1 237 169 membres
127 nouveaux aujourd'hui
14 312 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : récuperer un indice dans un tableau [ Algorithme / Maths ] (MBALHOUSSE)

récuperer un indice dans un tableau le 02/07/2008 10:34:31

MBALHOUSSE
Bonjour,

je souhaite récuperer l'indice d'un element d'un tableau;
sachant que dans le cas ou la valeur n'existe pas dans le tableau je renvoie l'indice de la premiere valeur inferieure à celle que je cherche.

par exemple:
tab[5] = {10,15,20,25,30}; //( les valeurs dans le tableau sont mises d1 maniere croissante) 
si la valeur = 20; la fonction doit renvoyer  i = 2;
si la valeur  = 18; la fonction doit renvoyer i =1;

Merci a vous tous;

Re : récuperer un indice dans un tableau le 02/07/2008 13:06:50

jfrancois

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



Classé sous : fonction, valeur, tableau, récuperer, indice

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS