Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [c++] Segmentation Fault

    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)

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    a che riga? fatto un po' di debug?

    quell'errore dice che qualche puntatore che usi è null..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.