Aide algorithme -->programme

Résolu
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012 - 29 avril 2012 à 02:35
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012 - 4 juin 2012 à 19:15
salut tous le monde
j'esperes que vous allez bien

j'ai une petite question ;j'ai trouve un probleme lors de progrmmation de l'algorithme presente si dessous ;mais vraiment je ne sais pas pourquoi je ne recois pas le resultats exacter comme je veux malgre théoriquement est juste .
l'algorithme est
Fonction Renuméroter(A[n]) : A’[n]
Variables :

Renum[n] : Booléen, retourne vrai si la case a été déjà renumérotée (initialisé à faux).

NM : numéro de partition maximum utilisé.

Début
NM=1 ;
Pour j de 1 à n faire
Si (Renum[j]= faux) Alors
       A’[j]=NM ;
       Renum[j]= vrai ;
       p=A[j] ;
         Pour k de j+1 à n faire
            Si (A[k]=p ET Renum[k]= faux) Alors
               A’[k]=NM ;
               Renum[k]= vrai ;
          Fin Si
Fin Pour
NM=NM+1 ;
Fin Si
Fin Pour
Retourner A’ ;
Fin.
Fin




et mois comme programme j'ai fait

public class test_renum {

public static int[]	reenumere(int [] A){
int renum[]=new int[A.length];

for(int i=0;i<renum.length;i++){renum[i]=0;}

int A2[]=new int [A.length];

int Nm=1;

for(int j=0;j<A.length;j++ ){

if(renum[j]==0){
A2[j]=Nm;
    renum[j]=1;
    int p=A[j];


    for(int k=j+1;j<A.length;j++){

    	if ((A[k]==p) &&( renum[k]==0)){

    		A2[k]=Nm;

    		renum[k]=1;

    	}


    }

    Nm=Nm+1;

}


}



return A2;
}



vraiment je ne sias pas u se trouve le pb ,c'est vraiment urgent et je me sens bloqué

15 réponses

Utilisateur anonyme
2 juin 2012 à 12:27
J'ai regardé à nouveau ton code et je viens de voir que quelque chose m'avait échappé.
Là, tu as ta boucle
for( int k j+1; j<A.length; j++ )
. Mais ça ne devrait pas être plutôt
for( int k j+1; k < a.length; k++ )
? Car si k est ton compteur de boucle, c'est lui que tu dois incrémenter en toute logique.

public class Test_renum {

public static int [] reenumere(int [] a){

boolean [] renum  = new boolean [a.length];

for( int i = 0; i < renum.length; i++ )
renum[i] = false;

int[] a2 = new int [a.length];

int nm = 1;

for( int j = 0; j < a.length; j++ ){

if( renum[j] == false ){

    a2[j] = nm;
    renum[j] = true;
    boolean p = a[j];

    for( int k j+1; k < a.length; k++ ){ //for( int k j+1; j<A.length; j++ ){
    	if ( (a[k] == p) &&( renum[k] == false) ){
    		a2[k]=N=nm;
renum[k]=true;
    	}
    }

    nm = nm+1;

}

}

return a2;
}



--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 avril 2012 à 08:51
Salut,

Le code que tu as écris à l'air conforme à l'algorithme décrit. Quel est le problème ?

Pourquoi est ce que tu n'utilises pas boolean au lieu de prendre des int ?
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
30 avril 2012 à 14:51
salut,

je ne vois que 2 itérations dans l algo et 3 dans le pgm... ;o)
ca doit pas etre bon!!? ;o)



GodConan ;o)
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
30 avril 2012 à 14:52
oups ;o) désolé ;o) ... la preums c est l init o) ...

GodConan ;o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
30 avril 2012 à 14:53
Re désolé j arrive pas à lire le code...


GodConan ;o)
0
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012
30 avril 2012 à 19:59
bonjour ,j'avais utilisé des boolean mais le pb est que le résultat ne sont pas conforme ,si vous avez le temps essayer d'appliquer l'algorithme et puis le résultats de l'algorithme c'est pas la même résultats prenant l'exemple de A[]={2,1,2,3} normalement les résultats c'est A2{1,2,1,3} mais c'est pas notre cas


merci beaucoup .
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mai 2012 à 08:00
@GodConan : Au début j'ai pensé la même chose que toi !! Le respect des conventions d'écriture en java aurait pu aider.

@hananeamirat : est ce que tu es certain que le résultat de {2,1,2,3} est {1,2,1,3} ? Que te donne le programme comme résultat ? Est ce que tu es certain que l'algo en pseudo code est correct ?
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
1 mai 2012 à 08:05
Et surtout ... ça me fatigue de l dire... Que font les profs!!!?

GodConan ;o)
0
Utilisateur anonyme
5 mai 2012 à 01:18
Que font les profs!!!? 

Franchement je me le demande... Plus ça va, moins ils sont exigeants et ils se contentent de se satisfaire d'un truc qui marche sans aucune qualité derrière que ce soit en POO ou au niveau du code... Bref des pisseurs de code malheureusement.

--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012
5 mai 2012 à 15:53
l'algorithme présenter que je veux votre aide c'est pas un homework ,cette algorithme est présenter dans un article de recherche-->donc de qualitée
mais je n'arrive pas a avoir les résultats attendu ,pouvez vous m'aidée
0
Utilisateur anonyme
5 mai 2012 à 22:50
Tu n'as visiblement pas compris ce qu'on voulait dire mais ce n'est pas le débat ici.
Je reprends donc la question de Julien39 à laquelle tu n'as pas répondu :

@hananeamirat : est ce que tu es certain que le résultat de {2,1,2,3} est {1,2,1,3} ? Que te donne le programme comme résultat ? Est ce que tu es certain que l'algo en pseudo code est correct ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012
5 mai 2012 à 23:15
salut;Pylouq ,j'espers que tu a le temps pour me montrer le resultat de ce pgm ,et comme j'avais déja dis l'algorithme est correct (présenté dans un article et une these de doctorat ) ,les resultats que j'ai c'est que le premier element c-a-d dans notre cas il m'affiche 1 et les autres sont null

cordialement
0
Utilisateur anonyme
29 mai 2012 à 12:23
Salut,

Où en es-tu ? As-tu pu avancer ou es-tu toujours bloqué ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012
29 mai 2012 à 20:19
Malheureusement je suis toujours bloquée;j'ai perdre la confiance sur moi meme
0
hananeamirat Messages postés 7 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 4 juin 2012
4 juin 2012 à 19:15
oh,imaginé c'est la ou j'ai fait la faute (c'est pas une faute c'est une catastrophe pour moi )


mais enfin ,je te remercie Pylouq pour ton temps et d'avoir cette esprit pour aider les gens comme moi
0
Rejoignez-nous