PDA

Visualizza la versione completa : [C++] Ricerca di indice giÓ estratto con find()


namelessg
11-09-2014, 13:31
salve a tutti

ho creato un metodo che estrarre un indice
il metodo non deve ritornare finche non estrae un indice diverso tra quelli estratti

allora ho utilizzato la funzione find per cercare se l'indice Ŕ stato giÓ estratto, quindi se Ŕ contenuto all'interno del vector indici estratti


int estrai(vector <int> &valori,vector <int> &indici_estratti)
{
int num;
while(1){
short indice=rand()%N; //estraggo un indice

if((std::find(indici_estratti.begin(), indici_estratti.end(),indice))==indici_estratti.en d()){
indici_estratti.push_back(indice);
num = valori[indice];
return num;}



}



il problema Ŕ che su find ho questo errore e non capisco perchŔ
error: no matching function for call to 'find(std::vector<int>::iterator, std::vector<int>::iterator, short int&)':dh˛::dh˛:

qualcuno mi pu˛ aiutare
grazie

LeleFT
11-09-2014, 13:37
Stai chiamando la funzione passandogli 3 argomenti: 2 vettori e un intero; ma la tua funzione vuole solo due argomenti (due vettori)... ma il codice relativo alla chiamata non l'hai postato.


Ciao. :ciauz:

namelessg
11-09-2014, 13:54
Stai chiamando la funzione passandogli 3 argomenti: 2 vettori e un intero; ma la tua funzione vuole solo due argomenti (due vettori)... ma il codice relativo alla chiamata non l'hai postato.


Ciao. :ciauz:

chiamata al metodo
num= estrai(valori,indici_estratti);

find ho visto che si poteva usare cosi ..
l'errore me lo porta su find

namelessg
11-09-2014, 14:15
#include <algorithm> :D
:ciauz:

Loading