C++ boucle parcourant un string fait planter

Résolu/Fermé
farcry165 - 31 juil. 2012 à 18:36
all-du-34 Messages postés 3 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 31 juillet 2012 - 31 juil. 2012 à 19:40
Bonjour, le code suivant fait planter mon programme, quand je le débug avec visual c++ 2010 j'ai un message d'erreur qui dit « debug assertion failed ! ... expression string subscript out of range ». je ne comprends vraiment pas pourquoi il plante...
for(int i=s_calcule.size(); i>0 || i==0; i--)
    {		
        if(s_calcule[i]=='(')
        {
			cout<<"marche"<<endl;
            debut=i;
        }
    }


merci d'avance pour votre réponse

5 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
31 juil. 2012 à 19:26
Bonjour,
Ton "i>0 || i==0" peut se simplifier en : "i>=0".
Sinon ton "i" doit s'initialiser à s_calcul.size()-1 car s_calcul[s_calcul.size()] est en dehors de l'espace.
Sinon pourquoi ne pas utiliser des méthodes spécifiques ?
Cdlt,
1
Utilisateur anonyme
31 juil. 2012 à 19:15
Bonjour,
Tu as ouvert une parenthèse en If et tu l'as pas refermé, c'est normal?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
31 juil. 2012 à 19:20
Si si, il y a bien une parenthèse fermante ;-))).
0
all-du-34 Messages postés 3 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 31 juillet 2012
31 juil. 2012 à 19:21
oui c'est normal car je cherche ce caractère.
(je suis farcry165, si j'ai changer de pseudo c'est par ce que je viens de m'inscrire)
0
Utilisateur anonyme
31 juil. 2012 à 19:23
Ha okay
0
all-du-34 Messages postés 3 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 31 juillet 2012
31 juil. 2012 à 19:35
un grand merci fiddy, sa marche.
je n'utilise pas une méthode spécifique car cela je viens juste de recommencer la programmation et je me rend conte que je ne me souviens plu de grand chose, et je ne me souviens pas qu'il y et une fonction qui fait la même chose que ma boucle, mai si il y en a une dite le moi.
0

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

Posez votre question
all-du-34 Messages postés 3 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 31 juillet 2012
31 juil. 2012 à 19:40
je viens de trouver la fonction, dorénavant je regarderai la doc avant d'aller sur les forum
0