#include #include #define N 1000 /* Luodaan globaali merkkijonomuuttuja (merkkitaulukko) */ char path[]="C:/Documents and Settings/yliopisto/Desktop/atk1_ma/"; /* Luodaan tason pistettä kuvaava tietue. */ struct point { double x; double y; }; typedef struct point pnt; /* Funktio, joka laskee kahden pisteen välisen etäisyyden. */ double distance(pnt,pnt); int main() { pnt pnt_arr[N]; FILE *f; int i,n; char filename[]="h11t02.txt"; char filename_with_path[N]; sprintf(filename_with_path,"%s%s",path,filename); f=fopen(filename_with_path,"r"); if(f==NULL) { printf("Who are you trying to fool?! There ain't no such file!!1!\n"); return 1; } i=0; /* Luetaan tiedostosta pisteiden koordinaatit. Huom. Tietuemuuttujataulukon * alkion tietojäseniä voidaan käsitellä kuin tavallisia muuttujia. */ fscanf(f,"%lf",&(pnt_arr[i].x)); fscanf(f,"%lf",&(pnt_arr[i].y)); while(!feof(f)) { i++; fscanf(f,"%lf",&(pnt_arr[i].x)); fscanf(f,"%lf",&(pnt_arr[i].y)); } n=i; /* Tulostetaan peräkkäisten pisteiden etäisyydet ruudulle. */ for(i=0;i