je dispose d'une étude. Une étude comporte X avions. chaque avions comporte X moteurs.
On arrive a ce shéma :
A1 A2 A3
/ | \ / | \ / | \
M1 M2 M3 M1 M2 M3 M1 M2 M3
Chaque moteur comporte des informations que je dois fusionner. Pour simplifier, on va dire que chaque moteur comporte un entier y.
Il faut ensuite que je calcule les différentes simulations : une simulation est l'addition de y de chaque moteur : je dois pour celà prendre y du moteur A1M1, que je l'ajoute au y de A2M1 et au y de A3M1, etc.
Et il faut ke je calcule ca pour chaque moteur.
Donc :
Vous me suivez ?
Bon ca sachant que le nombre d'avions n'est pas connu au moment de la compilation, mais seulement au moment de l'execution (ainsi que le nombre de moteurs pour chaque avions)
On peut quand meme connaitre le nombre de resultats ( ici => 27 : Avion1.nbMoteur * Avion2.nbMoteur * ....)
A voir également:
Problème de logique...pourtant c'est tout con, j'en suis sur
j'ai trouvé la réponse... et non je n'ai pas programmez ca n'importe comment... et ton z=3 n'a rien avoir... dans le code que tu m'a donné tu fais 3 boucle for, donc s'il fallait que je suive ta méthode avec 20 avions, il me faudrait 20 boucles...
Salut,
int combinaison Math.Pow(x,y); // ou x le nombre de moteur par avion (ici apparement tjrs 3) et y le nombre d'avion.
Dans ton cas:
avec 3 avions on aurait Math.Pow(3,3) = 27;
Autres exemples :
avec 2 avions on a Math.Pow(3,2) = 9;
avec 4 avions on a Math.Pow(3,4) = 81;
Si chaque avion peut avoir 4 moteurs et qu'on a 2 avions on a Math.Pow(4,2) = 16;
Evidemment, la formule ne fonctionne que si le nombre de moteur par avion est constant.
non le nombre de moteurs de chaque avion est indépendamment...mais ca c'était pas compliqué...
le truc que j'arrive pas a faire c'est générer la séquence des moteurs à considéré lor du calcul (style un peu une table de verité) :
0,0,0
0,0,1
0,0,2
0,0,3
0,1,0
0,1,1
0,1,2
0,1,3
1,0,0
...
(dans ce cas là le 3eme avion a 4 moteurs, le 2nd en a 2 et le premier en a...(2))
Et alors? J'ai posé z= 3 pour faire un exemple pratique!
Si tu as bien fait les choses, tes avions sont dans une collection, et tu peux donc sans autre savoir combien y'en a en faisant maCollection.Count.
Evidemment, si maintenant tu as programmé ça n'importe comment à la va-vite tu vas pas t'en sortir... Dans ca cas là, personne ne pourra rien pour toi.
//cals --> liste des avions
//nbSimul --> suffisament explicite (nombre de simulation : ds les ex ci dessus, nbSImul vaudrait 27)
//--------------------------
int[][] listes = new int[cals.Length][];
int nbMoteurPrec = 1;
for(int i = cals.Length - 1; i >= 0; i--)
{
listes[i] = new int[nbSimul];