merciiii trop ça marche tres tres bien
Version imprimable
merciiii trop ça marche tres tres bien
franchement rien à dire merciii trop
mais il me reste un seul problème, normalement je ne sais pas comment le programmer :(
par exemple de pour k de 4 à 6 j'ai trois résultat
bon le tableau Resultat[i][l] doit reçois la valeur minimal entre c'est trois valeur
Si Cout (Vi,l) > C alors Cout (Vi,l) = C
Si tu as trois valeurs V1, V2, V3, tu peux avoir la plus petit en faisant simplement :
A la limite tu te fais une méthode :Code:
1
2
3
4
5
6
7
8
9 V=V1; if ( V2<V ) { V=V2; } if ( V3<V ) { V=V3; } // V est maintenant la plus petite d'entre les trois
Et tu l'appelles comme ça :Code:
1
2
3
4
5
6
7 public static int min(int...values) { int min=Integer.MAX_VALUE; for(int value : values) { if ( value<min ) min=value; } return min; }
Pour le max, c'est :Code:Resultat[i][l] = min(valeur1, valeur2, valeur3);
Code:
1
2
3
4
5
6
7 public static int max(int...values) { int max=Integer.MIN_VALUE; for(int value : values) { if ( value>max ) max=value; } return max; }
à ce niveau ?? parce que je parle de minimaux de C et Resultat[i][l] doit reçois ce minimaux 8OCode:
1
2
3
4
5
6
7
8
9
10
11
12 if(Kmax > Kmin){ // Pour k de Kmin à Kmax faire : for(int k =Kmin; k<=Kmax;k++){ C = CoutStockage[l]+CoutFabrication[l+Demandei[i]-k] + Resultat[i-1][k]; Resultat[i][l] = C; System.out.println("\n\tCout(V"+(+i+","+k)+ ") = "+Resultat[i][l] +" = "+ CoutStockage[l]+" + "+CoutFabrication[l+Demandei[i]-k]+" + "+Resultat[i-1][k]) ; } }
je vais voir
Tu veux dire que tu calcules une valeur C dans chaque itération, et qu'à la fin tu veux conserver que le plus petit des C ? C'est ça ?
Dans ce cas, tu le fais dans ta boucle, exactement comme je l'ai fait dans la méthode min que j'ai donné dans le post précédent :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int minc=-1; for(int k =Kmin; k<=Kmax;k++){ C = CoutStockage[l]+CoutFabrication[l+Demandei[i]-k] + Resultat[i-1][k]; if ( minc==-1 || C<minc) { minc=C; } } if (minc!=-1) { Resultat[i][l] = minc; System.out.println("\n\tCout(V"+(+i+","+k)+ ") = "+Resultat[i][l] +" = "+ CoutStockage[l]+" + "+CoutFabrication[l+Demandei[i]-k]+" + "+Resultat[i-1][k]) ; }
ça marcha pas bien, il y a un Error de boucle, le boucle k doit être fermé à la fin, même si, il garde une valeur minimal,et il a écrasé les résultat afficher par cette valeur minimal.
mais, j'ai corrigé le probleme :):) merci encore une fois.
svp je veux savoir une chose ,c'est possible de mettre ce programme en application ????
Tu veux pouvoir l'exécuter en dehors de ton IDE, c'est ça ? C'est quoi ton IDE ?
je ne sais pas ?? c quoi un IDE.
moi en effet, je veux le faire sous forme d'une interface graphique, c'est possible???
Ah. Bien sûr que c'est possible de faire une interface graphique. Regardes :
Un IDE (Integrated development environment) c'est un logiciel qui permet de faire des applications. Comme Eclipse ou NetBeans.
ok mercii