Ciao, da traccia devo eliminare da un vettore V1 gli elementi uguali agli elementi del vettore V2
codice:
es. v1=7,5,3,4 v2=1,3,7,6,8,2 il vettore v1 dopo l'eliminazione sarà: v1=5,4
bene io ho provato a fare questo algoritmo all'interno di una funzione:
codice:
void ricerca_elim (int vett1[],int vett2[],int riemp1,int riemp2)
{int i,j,k; //indice scorrimento vettore
bool trovato;
for(i=0;i<riemp2;i++)
{ j=0; trovato=false;
while (j<riemp1 && !trovato)
{ trovato=vett2[i]==vett1[j];
j++;
}
if (trovato)
{ for(k=j;k<riemp1-1;k++)
{
vett1[k]=vett1[k+1];
} riemp1--;
}
}
//stampa di prova
cout<<"vett1: \n";
for(i=0;i<riemp1;i++)
cout<<vett1[i]<<"\t";
}
controllando e ricontrollando a me sembra vada bene, però quando faccio una stampa di prova invece di darmi in stampa il nuovo vettore mi caccia fuori 7 e 3 che sono gli elementi che dovrei eliminare....dove sbaglio? potete darci un occhiata magari voi lo trovate prima l'errore, perchè a me sembra che vada bene però non da il risultato che cerco :S grazie