questo esercizio dovrebbe dirmi se due array inizializzati in modo random sono simili, sono simili quando la somma della distanza euclidea è minore di un certo numero scelto dall'utente l'array x e y sono le coordinate dei punti , l'ho completato ma mi dice sempre e comunque che sono simili come mai idee?
codice:
# include<stdio.h>
# include<stdlib.h> /* per usare rand() e srand()*/
# include<time.h> /* per usare time() */
# include<math.h>
int main ()
{
int n;
printf("inserire un numero pari alla lunghezza dei due array");
scanf("%d",& n);
float x[n];
float y[n];
float dist=0,soglia,sum_dist=0;
int j,i,logic;
srand ( time (NULL));
for (i =1; i <= n ; i ++)
{
x[i] =-100+(200)*(float)rand()/(float)RAND_MAX;
printf ("x[%d]=%f " ,i ,x[i]);
}
for (j =1; j <= n ; j ++)
{
y[j] =-100+(200)*(float)rand()/(float)RAND_MAX;
printf("y[%d]=%f " ,j ,y[j]);
}
printf("scegliere un numero float come soglia");
scanf("%f",& soglia);
i=1;
j=1;
while(i<=n-1 & j<=n-1)
{
dist=sqrt(pow(x[i+1]-x[i],2)+pow(y[j+1]-y[j],2) ) ;
sum_dist=sum_dist + dist;
dist=0;
i=i+1;
j=j+1;
}
printf("la somma della distanza euclidea è %f",sum_dist);
if (logic =1)
printf("I due array sono simili");
else
printf("I due array non sono simili");
int somiglianza_array(float soglia, float sum_dist,int logic)
{
if (sum_dist < soglia)
logic=1;
else
logic=0;
}
}