si ton tableau d'entiers est trie tu peux faire
une recherche en temps logarithmique (cas le pire).
Tu peux aussi utiliser des set c'est pour ca qu'ils existent:
tu crees un set d'entier et tu peux verifier la presence
de l'entier en question en temps logarithmique (ca t'evite de creer la fonction de recherche a la main meme si c'est assez rapide a faire)
Code :
- int tab[] = {2, 8, 9, 10} ;
- //construit le set a partir du tableau
- std::set<int> correctTab(tab, tab + 4) ;
- if (correctTab.find(entier))
- {
- std::cout << "entier ok" << std::endl;
- }
- else
- {
- std::cout << "entier pas ok" << std::endl;
- }
|
les enums ne reglent qu'a moitie ton probleme
parce que l'utilisateur va pouvoir faire un
cast (explicite) d'un entier vers le type enum.
Cela sert si tes entiers representent une valeur
symbolique et qu'une autre valeur n'a aucun sens.
par exemple :
Code :
- enum Couleur {
- ROUGE,
- JAUNE,
- VERT
- };
|
Cela permet d'encoder des constantes sans utiliser
de define egalement.
A+
LeGreg
---------------
voxel terrain render engine | animation mentor