Oppure

Loading
21/07/07 8:28
:: sara ::
ciao!
mi serve un po di aiuto!
ho un programma in c++ con varie richieste...
dopo aver manipolato un po array di caratteri mi chiede di sviluppare una funzionalità che sia in grado di individuare in un testo fornito tramite file il suddetto array di caratteri e che restituisca il numero della riga in cui si trova e il numero di volte che compare su ogni riga.

qualcuno aiutandomi (inutilmente) mi ha detto che devo costruire una tabella di cross reference e che devo partire da questo codice, ma non ho proprio capito come lavora e a cosa serve.


map<string,vector<int>>
xref ( istream& in, vector<string> find_words(const string&;) = split)

/* la funzione find_words è un parametro che è fissato di default alla funzione
split
xref(cin);
xref(cin,find_url);
*/

{
string line;
int line_number=0;
map<string,vector<int>> ret;
while (getline(in,line))
{
++line_number;
vector<string> words = find_words(line);
for (vector<string>::const_iterator it = words.begin();
it != words.end(); ++it)
ret[*it].push_back(line_number);
}
return ret;
}


grazie!!
aaa
21/07/07 18:19
WARRIOR
Ciao, non ti sarebbe più semplice fare questa procedura? :

1)Apro il file in lettura;
2)Leggo la riga e le assegno un riferimento temporaneo;
3)La confronto con l'array, se compare la sequenza, aggiungo un'unità al contatore e riporto il riferimento;

Caso mai qui potresti utilizzare una mappa <chiave/valore> che indica il riferimento alla riga con il relativo contatore.

;);)
aaa