Rupture en c

Résolu/Fermé
karemkadidola Messages postés 9 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 21 février 2012 - 27 sept. 2010 à 23:55
karemkadidola Messages postés 9 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 21 février 2012 - 28 sept. 2010 à 17:38
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

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
28 sept. 2010 à 09:51
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
karemkadidola Messages postés 9 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 21 février 2012
28 sept. 2010 à 17:38
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