Ho corretto l' es, ora viene, farò tesoro dei tuoi suggerimenti ovviamente, sperando di non essere un tuo studente!
Ecco l' esercizio corretto!
Ho corretto nella funzione il while al posto del for, in mondo che ogni volta ricominci il controllo dal primo elemento!codice:#include<stdio.h> long Com(int A[],long dimA,int B[],long dimB); int main(){ long n,m; printf("Inserisci due valori n e m\n"); scanf("%ld%ld",&n,&m); printf("Inserisci i valori del primo vettore\n"); int a[n],b[m]; long x,j,z; for(x=0;x<n;x++){ scanf("%d",&a[x]);} printf("Inserisci i valori del secondo vettore\n"); for(j=0;j<m;j++){ scanf("%d",&b[j]);} long s=Com(a,n,b,m); printf("La lunghezza del nuovo vettore modificato è %ld\n",s); printf("Il vettore modificato è uguale a...\n"); for(z=0;z<s;z++){ printf("%d\n",a[z]);}} long Com(int A[],long dimA,int B[],long dimB){ long i,j,k=0; for(i=0;i<dimA;i++){ long j=0; while(j<dimB && A[i]!=B[j]) j++; if(A[i]==B[j]) {A[k]=A[i]; k++;} } return k;}

Rispondi quotando