Ciao a tutti, come da titolo, c'è un punto di questo programma che non ho capito per quale motivo mi va a modificare il vettore v, pure lavorando sul vettore v1. Ve lo evidenzio, facendolo girare noterete che dopo l'istruzione v1[++due]=v[i], il vettore v[i] cambia nel secondo elemento. Vi prego di aiutarmi dato che il perchè mi è sconosciuto.

codice:
/*
   Nome del programma: unionearray.cpp   
   Note            : Assegnato un array A monodimensionale di N interi con
                       ripetizioni di lunghezza =N. Assegnato un array B
                       monodimensionale di N interi con ripetizioni di 
                       lunghezza =2N Trasformare l'array A nell'array pari 
                       all'intersezione di A e B e l'array B nell'array pari 
                       alla loro unione.
*/     

#include <cstdlib>
#include <iostream>

using namespace std;



int main(){
    
    int v[4]={1,5,3,5};
    int v1[8]={9,3,5,6,3,11,13,15};
    int i=0,duen=8,n=4;
    bool ceck=false;
    while(i<n){
            ceck=false;           
   for(int k=0;k<duen;k++){
            cout<<v[i]<<" "<<v1[k]<<endl;
            if(!ceck && v[i]==v1[k]) ceck=true;
            if(ceck && v[i]==v1[k]){cout<<"CECK: "<<v[i]<<" "<<v1[k]<<endl; system("pause");
                    for(int n=k;n<duen-1;n++){
                            v1[n]=v1[n+1];
                            }
                            duen--;
                            }
                            }
                    cout<<endl;
                    for(int c=0;c<n;c++) cout<<v[c]<<" ";
                    cout<<endl;
            if(!ceck){
                      
                      v1[++duen]=v[i];
                      duen++;

                      cout<<v1[duen]<<endl;
                      cout<<endl;
                    for(int c=0;c<n;c++) cout<<v[c]<<" ";
                    cout<<endl;
                      for(int z=i;z<n-1;z++){
                              cout<<v[z+1]<<endl;
                              v[z]=v[z+1];
                              cout<<z<<" "<<v[z]<<endl;
                              system("PAUSE");
                              }
                              }
            else i++;
            }     

    
    system("pause");
    return 0;
    
}

Grazie