Bonjour,
j'aimerais savoir comment retrouver l'indice d'une valeur donnée dans un tableau.
Est-ce qu'il existe une fonction en "C" qui permet ça ?
Version imprimable
Bonjour,
j'aimerais savoir comment retrouver l'indice d'une valeur donnée dans un tableau.
Est-ce qu'il existe une fonction en "C" qui permet ça ?
Salut,
Non. Il faut créer la fonction qui le fait.
A+
Pfeuh
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 #include <stdio.h> #define NOT_FOUND -1 int getindex(int value, int* tab, int size) { int index = 0; while(index < size) { if(tab[index] == value) return index; else index++; } return NOT_FOUND; } int main(void) { int tab[] = {7,45,98,65,12}; int tabsize = sizeof tab / sizeof(int); printf("index = %i\n", getindex(7, &tab[0], tabsize)); printf("index = %i\n", getindex(12, &tab[0], tabsize)); printf("index = %i\n", getindex(124, &tab[0], tabsize)); return 0; }
Si le tableau est trié, tu peux utiliser bsearch() avec un peu d'arithmétique des pointeurs pour calculer l'indice.
Thierry