ecco :
codice:
#include <iostream>
#include <stdlib.h>
using namespace std;
const int MAX=100;
void input(int v1[],int v2[],int &n1,int &n2);
int trova(int v1[],int v2[],int n1, int n2);
void elimina ( int v1[], int v2[],int n1, int &n2, int num);
void output( int v2[],int n2,int num);
int main () {
    
        int v1[MAX];
        int v2[MAX];
        int n1;
        int n2;
        int num;
        input(v1,v2,n1,n2);
        num=trova(v1,v2,n1,n2);
        elimina(v1,v2,n1,n2,num);
        output(v2,n2,num);
        system("PAUSE");
        return 0;
}
void input(int v1[],int v2[],int &n1,int &n2) {
    int i;
     cout<<"quanti elementi vuoi inserire in v1?"<<endl;
        cin>>n1;
     cout<<"quanti elementi vuoi inserire in v2?"<<endl;
        cin>>n2;      
     for(i=0;i<n1;i++){
     cout<<"inserisci elementi in v1"<<endl;
        cin>>v1[i];
    }
    for(i=0;i<n2;i++){
        cout<<"inserisci elementi in v2"<<endl;
        cin>>v2[i];  
    }
}
int trova(int v1[],int v2[],int n1, int n2) {
    int i=0;
    int num=0;
    int j=0;
	while(j<n2){
		if(v2[j]%2!=0){
			for(i=0;i<n1;i++){
				if(v2[j]!=v1[i])
					num++;
				else 
					v2[j-num]=v2[j];
			}
		}
	j++;
	}
	n2-=num;
	return num;
}
	
void elimina ( int v1[], int v2[],int n1, int &n2, int num) {
    int i=0,j=0,k;
	

	
	for(i=0;i<n1;i++) 
		if(v2[i]%2==1){
			for(j=0;j<n2;j++)
				if(v2[i]!=v1[j]){
					for(k=j;k<n2-1;k++)
						v2[k]=v2[k+1];
					n2--;
 }
}
}
void output( int v2[],int n2,int num) {
    if (num==0) {
        cout<<"non ho effettuato eliminazioni"<<endl;
    }
    else
    {
        cout<<"il numero di eliminati e'"<<num<<endl;
        cout<<"il riempimento e'"<<n2<<endl;
        cout<<"il vettore e'"<<endl;
        for(int i=0;i<n2;i++) {
            cout<<v2[i]<<endl;
        }
    }
}
psotresti trovare errori gravi :S non me la cavo proprio!
grazie in anticipo!