Compter des caractères

FS28 -  
MR Ould Messages postés 2 Statut Membre -
Olla !

Voilà, je suis en train de monter logiciel pour mon cousin, seulement, il y a un truc à faire sur lequel je bloque:

Je voudrais qu'il écrive une phrase, et pouvoir trouver le plus grand nombre de lettres qui se suivent, genre : aaabbkzeubhjj, ça sera 3.

Je sais comment lire un mot dans la longueur, mais je ne vois pas comment faire pour compter.
A voir également:

10 réponses

FS28
 
Ah, et c'est en C++, pardon.
0
mouglixx Messages postés 535 Statut Membre 159
 
C'est facile, un truc classique, mais faudrait que tu nous dise sur ce quel logiciel de programmation..
Développement web ? c ? cpluchepluche?
0
FS28
 
J'utilise codeblocks.
0
FS28
 
J'imagine qu'il faut mettre un while pour lire le caractère, j'ai deux variables suitecurrent et suitemax, mais je sais pas comment les manipuler ...
0

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

Posez votre question
FS28
 
Aussi, personne n'aurait un bon site pour apprendre le C++, parce que j'en ai marre de bloquer toutes les 2mins ...
0
skymax406 Messages postés 242 Statut Membre 24
 
Le site du zéro est trés bon pour apprendre sinon aprés faut en bouffer pour trouver des solutions.

Ici par exemple tu fait une boucle qui lit le premier caractére et qui incrémente un compteur a chaque fois qu'elle lit la même lettre si cette lettre change tu range la lettre et la valeur du compteur dans un tableau comme ceci :

monTableau[malettre][nbderepet];


et tu recommence jusqu'a la fin de la chaine puis tu compare les résultat dans le tableau et la plus grande valeur correspond a la lettre qu'il te faut.

C'est une solution il y en a surement d'autre.
0
FS28
 
Site du zéro, c'est noté, merci. :)

Par contre, je n'ai encore jamais fait de tableaux, et à vrai dire, je ne comprends pas trop ce que tu essayes de m'expliquer. :(

Je ne pratique vraiment depuis très longtemps, malheureusement ...
0
FS28
 
#include <iostream>
using namespace std;
int main ()
{
    char cara1='0',cara2='1';
    int suitemax=0, suitecurrent=0;
    bool suite=false;
    while(let1!='.')
    {
        cin>>cara1;
        if(cara1==cara2&&suite==true)
        {
            suitecurrent=suitecurrent+1;
            
        }
        cara2=cara1;
    }
    cout<<suitemax;
    return 0;


Voilà ou j'en suis. :/
0
FS28
 
Personne ne saurait m'aider ... ?
0
MR Ould Messages postés 2 Statut Membre 2
 
Tu initialise un tableau d entiers et chaque case i contient le nombre de fois que le caractere i se repete que tu incrementera a chaque fois que tu rencontre ce caractere ..
0