PDA

Visualizza la versione completa : [C++] Confrontare occorrenze tra due o più vectors


freetom
12-08-2009, 22:56
Ho...

Ad es.




vector<int> vector1 = (1,2,3,4,5,6,7,8,9,10);
vector<int> vector2 = (3,4,8,9,12,7,19,21);



come faccio per evidenziare in modo rapido... che
i due vectors esaminati hanno 5 elementi in comune? (3,4,8,9,7) ???

GRAZIE!


:ciauz:

Stoicenko
13-08-2009, 09:24
un doppio ciclo for in cui controlli le occorrenze degli elementi del 1 vector nel secondo..

freetom
13-08-2009, 10:10
del tipo...

inventato :)

vector_intersect(vector1,vector2);

???

:ciauz:

freetom
13-08-2009, 10:16
if ((token2.at(0)==token.at(0)) || (token2.at(0) == token.at(1)) || (token2.at(0)==token.at(2)) || (token2.at(1)==token.at(0)) || (token2.at(1) == token.at(1)) || (token2.at(1)==token.at(2)) || (token2.at(2)==token.at(0)) || (token2.at(2) == token.at(1)) || (token2.at(2)==token.at(2)) || (token2.at(3)==token.at(0)) || (token2.at(3) == token.at(1)) || (token2.at(3)==token.at(2)) || (token2.at(4)==token.at(0)) || (token2.at(4) == token.at(1)) || (token2.at(4)==token.at(2))) {

cout << "\n\n\nUN ELEMENTO UGUALE!";
conteggio=0;
ritardi.push_back(conteggio);

}else{

conteggio++;
ritardi.push_back(conteggio);

}




dove mi viene verifcata la presenza di almeno un elemento facente parte dei due vector:
token e token2 mentre io vorrei trovare un modo per verificare in una sola riga...

confrontando i due array direttamente 5 o + presenze uguali...

:ciauz:

freetom
13-08-2009, 10:33
Qual'è il carattere di congiunzione...? in c++?

Es.

if ((token2.at(0)==token.at(0)) || (token2.at(0) == token.at(1)) || (token2.at(0)==token.at(2)) || (token2.at(1)==token.at(0)) || (token2.at(1) == token.at(1)) || (token2.at(1)==token.at(2)) || (token2.at(2)==token.at(0)) || (token2.at(2) == token.at(1)) || (token2.at(2)==token.at(2)) || (token2.at(3)==token.at(0)) || (token2.at(3) == token.at(1)) || (token2.at(3)==token.at(2)) || (token2.at(4)==token.at(0)) || (token2.at(4) == token.at(1)) || (token2.at(4)==token.at(2))) {

questo if l'ho solo su una riga...

se volessi scomporlo in più righe quale carattere di fine riga e di congiunzione dovrei usare?

Grazie

:ciauz:

freetom
13-08-2009, 10:41
Originariamente inviato da Stoicenko
un doppio ciclo for in cui controlli le occorrenze degli elementi del 1 vector nel secondo..

Intendi un qualcosa del genere?




for (int i=0; i< token.size(); i++) {

for (int z=0; i<token2.size(); z++) {


if (token.at(i)==token2.at(z))
cout << "trovato elemento uguale";
contaelementiuguali++;
else
cout << "nulla...";

}

}

alka
13-08-2009, 10:48
Originariamente inviato da freetom
Qual'è il carattere di congiunzione...? in c++?

Visto che non leggi i miei messaggi di avvertimento, e che ti ostini a non riportare le soluzioni, ad affrontare problemi che non sono attinenti all'argomento della discussione che hai aperto, a non ricercare informazioni su quelli che sono i fondamenti del linguaggio per i quali basta Google e non è necessario scomodare il forum, a non usare correttamente il tag CODE per formattare il codice, e questo si è già ripetuto più volte, proviamo a chiudere qualche discussione così vediamo se, intervenendo a "gamba tesa", forse qualcuna delle cose che ti sono già state segnalate innumerevoli volte, anche da altri utenti, forse la comprendi e la metti in pratica.

Loading