Rupture en c

Résolu
karemkadidola Messages postés 11 Statut Membre -  
karemkadidola Messages postés 11 Statut Membre -
Bonjour,



Bonjour, j'ai un tableau des unsigned int trié je voudrais faire un rupture sur chaque element differents ainsi copier dans un premier tableau l'élément et dans l'autre le nombre d'occurence et je ne sais pas pourquoi cette instructions dans mon code ne marchent pas

j =0
et i contient le nombre d'élement dans tab
while (j<i){
	saveChiffre=tab[j];
	cpt=0;
		while (j<i && saveChiffre==tab[j]){
			cpt=cpt+1;
			j=j+1;
			saveChiffre=tab[j];
		}
		tabFac[k]=saveChiffre;
		tabOccur[k]=cpt;
		k=k+1;
}

2 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    while (j<i){
    	saveChiffre=tab[j];
    	cpt=0;
    		while (j<i && saveChiffre==tab[j+1]){
    			cpt=cpt+1;
    			j=j+1;
    			saveChiffre=tab[j];
    		}
    		tabFac[k]=saveChiffre;
    		tabOccur[k]=cpt;
    		k=k+1;
    }
    

    c'est un peu risqué, mais sinon, ta condition est toujours vrai. ça doit être ça le souci. En fait, je ne comprends pas ton algorithme. Je pense que tu devrais le repenser.
    0
  2. karemkadidola Messages postés 11 Statut Membre
     
    Merci de me l'avoir fait remarquer cher Ami, (j'adore ce site car y a toujours quelqu'un qui connait et qui veut bien t'aider) en effet deux erreurs dans mon prog
    while (j<i){
    saveChiffre=tab[j];
    cpt=0;
    while (j<i && saveChiffre==tab[j+1])/*pa de +1*/{
    cpt=cpt+1;
    j=j+1;
    saveChiffre=tab[j];/*instruction en trop*/
    }
    tabFac[k]=saveChiffre;
    tabOccur[k]=cpt;
    k=k+1;
    }

    en effet la deuxième condition était toujours vrai donc il me fallait enlever l'instruction soulignée encore merci car j'ai passé plus de 5h à chercher l'erreur c affreux...
    0