Grazie, ne terrò presente sempre. In tutto ciò non capisco perchè il codice, che ho anche modificato un pò, continua a non funzionare. Mi aggiunge uno zero alla fine del primo vettore che non capisco da dove prende.Originariamente inviato da oregon
E' uno degli errori più comuni (a runtime) ...
codice:#include <cstdlib> #include <iostream> using namespace std; int main(){ int v[50]={2,3,3,5}; int v1[50]={9,3,5,6,3,11,13,15}; int i=0,duen=8,n=4; bool ceck=false,first=false; while(i<n){ ceck=false; first=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] && first){ cout<<"CECK: "<<v[i]<<" "<<v1[k]<<endl; system("pause"); for(int u=k;u<duen-1;u++){ v1[u]=v1[u+1]; } duen-=1; k-=1; } if(ceck) first=true; } if(!ceck){ duen+=1; v1[duen]=v[i]; cout<<"\n\n!ceck"<<v[i]<<" "<<v1[duen]<<endl; 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"); } n-=1; cout<<"!ceck"<<endl; for(int c=0;c<n;c++) cout<<v[c]<<" "; cout<<endl; } else{ int z=i+1; while(z<n){ if(v[i]==v[z]){ for(int k=z;k<n-1;k++){ //cout<<v[z+1]<<endl; v[k]=v[k+1]; //cout<<z<<" "<<v[z]<<endl; // system("PAUSE"); } n-=1; } z+=1; } i+=1; } } cout<<endl; for(int n1=0;n1<n;n1++) cout<<v[n1]<<" "; cout<<endl; for(int n2=0;n2<duen;n2++) cout<<v1[n2]<<" "; cout<<endl; system("pause"); return 0; }



Rispondi quotando