codice:
//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();
//------------------------------------------------------------------------
Comunque anche lasciando
codice:
int myints[] = {10,20,20,20,30,30,20,20,10};
dell'esempio mi da questo errore se eseguo il codice:
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