Stringhe C++

di il
7 risposte

Stringhe C++

Salve ho un problema con le stringhe, come posso fare per contare quante volte un carattere si ripete in una stringa?
Non per forza una lettera, in realtà mi serve sapere quante volte si ripete un +.

string a = 12x+=23+45+56x+
Mettiamo che questa sia la mia equazione, dopo aver sistemato i + in questo modo, come posso fare per sapere quanti ce ne sono?

7 Risposte

  • Re: Stringhe C++

    Tanto per cominciare ci vogliono le virgolette

    string a = "12x+=23+45+56x+";

    Puoi scrivere

    size_t n = std::count(a.begin(), a.end(), '+');
  • Re: Stringhe C++

    "Size_t" cosa sarebbe?
  • Re: Stringhe C++

    Un intero senza segno grande abbastanza quanto basta

    Puoi assumere che sia un unsigned int
  • Re: Stringhe C++

    Oi, ho provato a fare come dicevi tu, ho dichiarato questo:
    
    size_t ndopo = std::count(equa_d.begin(), equa_d.end(), '+');
    size_t nprima = std::count(equa_p.begin(), equa_p.end(), '+');
    
    e poi l'ho usato dentro un ciclo for
     
     for(int i=0;i<(ndopo+nprima);i++)
    
    ma mi dà questo errore:

    error: 'count' is not a member of 'std'
    error: 'count' is not a member of 'std'
  • Re: Stringhe C++

    Aggiungi

    #include <algorithm>
  • Re: Stringhe C++

    Grazie mille adesso funziona, se tolgo "std::" davanti a count succede qualcosa? tanto fuori dal main ho scritto
    
    using namespace std;
    
    Grazie ancora per l'aiuto!
    -Switch
  • Re: Stringhe C++

    Se hai la using, std:: non serve
Devi accedere o registrarti per scrivere nel forum
7 risposte