non riesco a capire a cosa si riferisce questo errore
codice:
#include <stdio.h>
#include <math.h>
#include <string.h>
struct puntonelpiano{
float x;
float y;
}
;
struct cerchio{
struct puntonelpiano posizione_centro;
float raggio;
}
;
void centro_cerchio(struct cerchio vett[],int n,float xa,float ya){
int i,j=0;
float dist,max=0.0,xf=0.0,yf=0.0;
for (i=0;i<n;i++){
// questo ciclo scandisce tutti i punti e calcola la distanza dal punto desiderato al centro di ogni cerchio
dist=sqrt(pow(vett[i].posizione_centro.x-xa,2))+(pow(vett[i].posizione_centro.y-ya,2));
// qui vede se la distanza è minore del raggio del cerchio, così da vedere se il punto è dentro il cerchio
if(dist<=vett[i].raggio){
// max è una variabile che tiene salvato la minima distanza tra il punto ed il centro più vicino
if(dist<max){
// se la distanza è minore del min precedente vuol dire che questo centro è candidato ad essere il risultato
// quindi mi tengo a mente i suoi valori
max=dist;
j=i; vett[i].posizione_centro.x=xf; vett[i].posizione_centro.y=yf;
}
printf("Distanza dal %d centro=%f max=%f",i,dist,max);
}
}
printf("(%f,%f)",xf,yf);
}
;
int main(){
int n,i;
float x,y;
printf("Inserisci i punti nel vettore:");
scanf("%d",&n);
struct cerchio vett[n];
for(i=0;i<n;i++){
printf("inserisci le coordinate del centro del cerchio %d:",i+1);
scanf("%f;%f",&vett[i].posizione_centro.x,&vett[i].posizione_centro.y);
printf("inserisci il raggio del cerchio %d:",i);
scanf("%f",&vett[i].raggio);
}
printf("\n\nInserimenti\n");
for(i=0;i<n;i++){
printf("Punto n%d x=%f y=%f raggio=%f\n",
i,vett[i].posizione_centro.x,vett[i].posizione_centro.y,vett[i].raggio);
}
printf("\nInserisci il punto da valutare:");
scanf("%f;%f",x,y);
centro_cerchio(vett,n,x,y);
return 0;
}
l'errore che mi viene dato è:
error while dumping state (probabily corrupted stack) segmentation fault (core dumped)