PDA

Visualizza la versione completa : [c++] problema con uso funzione unique_copy per scremare riga


freetom
13-03-2013, 16:43
//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



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

:ciauz:

Loading