Vettore di stringhe

di il
5 risposte

Vettore di stringhe

Salve a tutti e spero mi diate una dritta con questo semplice esercizio che vi scrivo

dato un testo di dimensioni random passato da input, e data una parola chiave anch'essa passata da input devo far indicare al programma quante volte compare la parola.

Devo però realizzarlo con il vettore dinamico ovvero classe vector senza utilizzare il comando getline

Ho provato diverse volte ma non riesco a fare in modo che ogni parola immessa da testo venga memorizzata in un vettore come se fossero delle stringhe a se stanti in modo da poterle poi confrontare con la parola chiave....

Dove sbaglio?

Grazie

5 Risposte

  • Re: Vettore di stringhe

    Come esegui la lettura dei dati? in codice intendo.
  • Re: Vettore di stringhe

    È proprio quello il problema, e mi spiego

    ipotizzando di voler passare la frase mio tuo suo

    se uso cin al primo spazio mi fermo e non va bene

    se uso getline mi legge tutta la riga ma anche usandolo come vettore non riesco a fargli capire che sarebbero 3 elementi ovvero mio tuo suo

    il mio intento era usare ogni sottostringa come fosse l'elemento di un vettore per poi usarli nuovamente
  • Re: Vettore di stringhe

    
    #include <iostream>
    #include <iomanip>
    #include <vector>
    #include <string>
    #include <algorithm>
    using namespace std;
    
    
    
    int main()
    {
    	cout << "Inserisci stringa" << endl;
    	std::string str;
    	std::vector<std::string> vettore;
    	
    	while(cin.peek() != '\n')
    	{
    		cin >> str;
    		vettore.push_back(str);
    	}
    	cin.clear();
    	cout << "Inserisci stringa da cercare" << endl;
    	std::string trova;
    	cin >> trova;
    	int conta = std::count(vettore.begin(),vettore.end(),trova);
    
    	cout << "La stringa e stata trovata " << conta << " volte" << endl;
    
    	return 0;
    }
    
    dov'era la difficoltà?
  • Re: Vettore di stringhe

    La classe algorithme e la classe iomanip non le ho ancora studiate perchè sto seguendo un percorso con un prof e volevo un suggerimento ma ovviamente usando i mezzi che avevo a disposizione...

    Comunque grazie 1000 skynet vedrò di leggere il codice e capire cosa di preciso faccia
  • Re: Vettore di stringhe

    Invece di usare la funzione count potresti usare un iteratore che attraversa il vettore e fa il conteggio.
    
    std::vector<std::string>::iterator it;
    for(it = vettore.begin(); it != vettore.end(); ++it)
    { 
         if(trova == *it)
             conta++;
    }
    
Devi accedere o registrarti per scrivere nel forum
5 risposte