Compteur de chaine de caractere

yous1984 Messages postés 1 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 16 octobre 2004 - 16 oct. 2004 à 14:37
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 - 17 oct. 2004 à 11:35
salut je suis debutant en C++
je voudrais s'avoir ce que je dois faire pr avoir un compteur qui compte le nombre maximum de caractere B consécutif dans un suit de caractere merci
et apres ki compte le plus grand nombre de caractere identike quelque soi le caractere
yous

6 réponses

Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
16 oct. 2004 à 17:20
Pas de probleme, voila, essaie ça :-))

int ReturnMaxOcc(char *chaine, int carac) {

int nOcc = 0;
int consecutifs = 0;

for (int i = 0; chaine[i] != '\0'; i++) {

if (chaine[i] == carac)
consecutifs++;

else {

if (consecutifs > nOcc)
nOcc = consecutifs;

nOcc = 0;
consecutifs = 0;
}
}

return nOcc;
}

// voila, je viesnd e coder ça comme ça à l'arrache sans verifier, dc dis moi si ça marche (normalemnt oui) :-))

@++

Gendal67, a votre service !

Genda67, à votre service !
0
asmanur Messages postés 230 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 août 2005
16 oct. 2004 à 18:55
Euh comme ca pourquoi tu fais
nOcc = 0;
exemple si on fait ReturnMaxOcc("assssssssssm",(int)'s'),
nOcc sera égal à 0, non?
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
16 oct. 2004 à 18:56
tssss, mais nan, lol, tinquiète pas, esaie ma fct telle quelle! elle marche!! :-))

Genda67, à votre service !
0
asmanur Messages postés 230 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 août 2005
17 oct. 2004 à 07:35
Je vois pas comment elle peut marcher (dsl j'ai la flemmme de compiler, surtout que je suis pas sur mon pc)
Pour assssssm
Quand ta fonc' va arriver au dernier caractères 'm' elle va aller dans le else ou nOcc vaudra 0!
0

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

Posez votre question
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
17 oct. 2004 à 11:33
Oui, mince, ya une ligne en trop en effet...dsl, suffit de virer nOcc = 0 dans le else en effet !! J'lavais pas vu...en fait j'ai fait du découpage...comme je t'ai dit, j'ai fait ça rapidos...enfin, vala, t'es intelligent, t'as vu l'erreur ! :-)
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
17 oct. 2004 à 11:35
Mais juste un truc, tu n'as pas besoin d'écrire :

ReturnMaxOcc("assssssssssm",(int)'s'); ecrit plutot juste :
ReturnMaxOcc("assssssssssm, 's'); puisque un char et un int c'est psa grandement différent dans la mesure ou un char est une partie de l'ensemble des int ;-))

Genda67, à votre service !
0
Rejoignez-nous