Devo risolvere questo esercizio:
Si scriva un programma C che:
a. legga 2 vettori di N elementi interi (con N costante predefinita)
b. stabilisca se i due vettori contengono gli stessi elementi, anche
disposti in ordine differente
Il codice che ho fatto è questo
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main()
{
int v[N],z[N],i,j,a=0;
printf("Inserisci valore nel primo vettore\n");
for(i=0;i<N;i++)
{
printf("Inserisci un numero ");
scanf("%d",&v[N]);
}
printf("Inserisci valore nel secondo vettore\n");
for(i=0;i<N;i++)
{
printf("Inserisci un numero ");
scanf("%d",&z[N]);
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(v[i]==z[j])
{
a=a+1;
}
else
{
continue;
}
}
}
if(a==N)
{
printf("Vettori uguali");
}
else
{
printf("Vettori diversi");
}
return 0;
}
Porbabilmente sbaglio qualcosa nel doppio ciclo for e forse nell'else.. Quelle che ho in mente di fare è che se i primi numeri dei due vettori sono uguali allora a vale 1.. se sono diversi allora col continue faccio continuare il ciclo di j e se me ne trova uno uguale incremento a. Se alla fine a è uguale N che è il numero di elementi nel vettore allora i vettori sono uguali. Qualcuno potrebbe dirmi dove sbaglio?