problème en programmation java
Hors ligneMira02 Le 14/02/2014 à 12:04 Profil de Mira02 Configuration de Mira02

Bonjour;

j'ai fait une méthode de java pour trie un tableau mais normalement le code est correct mais je ne sais pas pourquoi sa marche .

 il n y pas d'erreur mais le problème c'est que moi j'ai fait le triage par à port la durée d'une valeur minimal a une valeur maximal et quand j'ai compiler j'ai trouver que juste j'ai permuter les valeur la 1er deviendra la dernier et vis vers sa !!

voire le code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  public static NumJobMachine[] EST(ArrayList<JobMachine> P1){
  int k=0,x=0;
  NumJobMachine[] P2=new NumJobMachine[P1.size()];
  
  while(!P1.isEmpty())
  {x=0;
     int min=P1.get(0).durée; 
      for(int i=1;i<P1.size();i++){
                                     if(P1.get(i).durée<min) min=P1.get(i).durée;
                                     x=i;
                                  }
      P2[k]=new NumJobMachine(P1.get(x).machine,P1.get(x).durée,x);
      k++;
      P1.remove(x); 
   
  }
  return P2;
  }
Hors ligneKoytlo2 Le 14/02/2014 à 18:17 Profil de Koytlo2 Configuration de Koytlo2

salut

tu veux dire que comme résultat tu trouve non pas une gradation d'une valeur minimal vers une valeur maximale mais toujours la valeur minimale ?

ou alors explique moi mieux s'il te plait 

salut

Hors ligneMira02 Le 14/02/2014 à 19:43 Profil de Mira02 Configuration de Mira02

oui exactement je n'arrive pas a trier le tableau et moi  j'ai pas fait des erreur mais lorsque j'ai compiler j'ai trouver  que mon code ne fait pas le triage  il est juste mettre les les 1er valeur les dernier et l'inverse par exemple p:5 4 8 9 3 aprés la compilation p:3 9 8 4 5

Hors ligneKoytlo2 Le 15/02/2014 à 20:40 Profil de Koytlo2 Configuration de Koytlo2

salut

excuse moi mais évite le language sms car je ne comprend absolument rien à ce que tu dis.

dois-je partir du fait  que tel que je te l'ai dit, c'est exactement ce qui t'es arrivé.

j'y connais pas grand chose mais je crois qu'il soit possible que tu te sois trompé en programmant

je te dit des trucs à tout hasard, n'y connaissant rien : soit tu devrait redéfinir la valeur de p1 que tu pourrais renommer p3 car le P1 originel sert de point de départ si je comprend bien.

ou alors il s'agirait du fait que tu fais un "return" sur p2 alors que comme çà çà peut tourner en boucle longtemps (p2 puis "return p2" !). Il doit je pense y avoir une autre ligne (peut-être P3 ou un nouveau P2 redéfini avec les nouvelles valeurs puis un 'return p2" )

peut-être aussi il faudrait annuler la suppression du p1 car j'admet que je vois pas pourquoi tu le supprime

JE TE RAPELLE QUE JE N'Y CONNAIS RIEN. J'AI JUSTE ESSAYE DE COMPRENDRE LA LOGIQUE DE TON PROGRAMME. J'ai ensuite évoqué des orientations qui pourrait t'aider. Si tu estimes que je raconte n'importe quoi c'est donc normal.

de toute façon il existe des logs pour tester le programme avant de compiler.

salut

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels