URL: https://linuxfr.org/forums/programmation-c/posts/y-a-t-il-un-expert-dans-le-coin Title: Y a-t-il... un expert dans le coin ? ;-) Authors: zedzed Date: 2007年03月14日T20:15:40+01:00 Tags: Score: 0 Bonjour, Je suis relativement novice en C++ et j'ai un problème vraiment compliqué à résoudre... Je cherche à construire un modèle d'abstraction pour une analyse statistique. La base est : j'ai des données statistiques conservées dans une struct que je lis de la plus ancienne à la plus nouvelle. Je souhaite pouvoir appliquer un nombre x de méthodes sur ces données pour pouvoir les traiter. Par exemple une moyenne, un test statistique, etc. Chacune de ces méthodes prend un nombre variable de parametres ; ex: moyenne(x, y) ; methode_stat(x, y, z, k). La difficulté est que je souhaite tester un nombre x methodes, avec des parametres differents à chaque fois. Par exemple je souhaite tester mes stats avec la fonction moyenne ; on fait des passe avec moyenne(1) jusqu'a moyenne(1000). Ensuite on recommence avec moyenne(1) et stat(1) ; on teste chacune des methodes de 1 à 1000 ; etc. la base du code devrait ressembler à ca : struct data { £spaces£ £/spaces£int nb; £spaces£ £/spaces£float k; }; struct data data[100]; # quelles fonctions on utilise ? int utilise_moyenne = 0; int utilise_strat = 0; # quels parametres pour les fonctions int param_moyenne_start = 123; int param_moyenne_end = 456; void base() { int i; £spaces£ £/spaces£# i correspond a data[i] £spaces£ £/spaces£for( i= 0; i<100 ; i++) { £spaces£ £/spaces£if( test(i) ) £spaces£ £/spaces£printf("test positif"); £spaces£ £/spaces£} } float moyenne(int i) { £spaces£ £/spaces£return moyenne ; } float stat(int i) { £spaces£ £/spaces£return stat ; } int test(int i) { ??? } int main () { £spaces£ £/spaces£# definit les fonctions qu'on utilise int utilise_moyenne = 1; £spaces£ £/spaces£# definit les parametres pour chaque fonction # lance base() avec toutes les fonctions qu'on va utiliser # ce qui donnerait on lit base() avec moyenne(1) ; puis on refait une passe avec moyenne(2), puis moyenne(3), etc. Dans test() je ne sais pas comment gerer le truc de dire "utilise telle fonction avec tels parametres Dans main() je ne sais pas comment lancer base avec la fonction 1, avec les parametres x et y, puis la fonction 2, puis la fonction 3, etc. Je pressent qu'a un moment il y a une fonction recursive que je dois utiliser, mais j'ai pas plus de billes pour le moment; S'il y a un gourou dans la salle... Merci, Z.

AltStyle によって変換されたページ (->オリジナル) /