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; } }

Rispondi quotando