Horfee
Messages postés188Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention10 août 2009
-
12 juin 2006 à 14:46
Horfee
Messages postés188Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention10 août 2009
-
12 juin 2006 à 16:52
Voilà en fait je dois réaliser un calcul :
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
Horfee
Messages postés188Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention10 août 2009 12 juin 2006 à 16:39
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...
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 12 juin 2006 à 15:00
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.
Horfee
Messages postés188Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention10 août 2009 12 juin 2006 à 15:39
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))
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 12 juin 2006 à 16:26
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.
Horfee
Messages postés188Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention10 août 2009 12 juin 2006 à 16:51
//ok
//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];