Comunque anche lasciandocodice://prova scrematura vettore con contenuto di file-unica-riga.txt grezzo... con funzione //unique_copy Al posto di myints vorrei metterci il contenuto del mio vettore "vettore"; int myints[] = {10,20,20,20,30,30,20,20,10}; std::vector<int> myvector (); // 0 0 0 0 0 0 0 0 0 // using default comparison: std::vector<int>::iterator it; it=std::unique_copy (myints,myints+contatore,myvector.begin()); // 10 20 30 20 10 0 0 0 0 // ^ std::sort (myvector.begin(),it); // 10 10 20 20 30 0 0 0 0 // ^ // using predicate comparison: it=std::unique_copy (myvector.begin(), it, myvector.begin(), myfunction); // 10 20 30 20 30 0 0 0 0 // ^ myvector.resize( std::distance(myvector.begin(),it) ); // 10 20 30 // print out content: std::cout << "myvector contains:"; for (it=myvector.begin(); it!=myvector.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; //return 0; cin.get(); //------------------------------------------------------------------------
dell'esempio mi da questo errore se eseguo il codice:codice:int myints[] = {10,20,20,20,30,30,20,20,10};
189 C:\GENERACOMBINAZIONI-LIV1-da-txt1c.cpp conflicting declaration '__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > it'
Qualcuno/a saprebbe dirmi come poter usare la funzione unique_copy con un vettore "vettore" contenente interi presenti anche più di una volta?
Dovrei in sostanza poter ordinare in modo crescente e scremare da valori doppi o presenti anche piu' volte il contenuto del vettore "vettore".
Grazie 1000
![]()

Rispondi quotando