Advertisement
gavrilo93

najbliza tacka elegancija

Nov 14th, 2012
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define MAX 30
  4.  
  5.  
  6. struct tacka {
  7.     float x;
  8.     float y;
  9. };
  10.  
  11. float mod(struct tacka a) { return sqrt(pow(a.x, 2)+pow(a.y, 2)); }
  12.  
  13. int cmp(struct tacka a, struct tacka b) {
  14.     if(mod(a) < mod(b))
  15.         return 1;
  16.     else
  17.         return 0;
  18. }
  19.  
  20. int input(struct tacka niz[])
  21. {   int i=0;
  22.  
  23.     FILE *fin=fopen("nesto.txt", "r");
  24.  
  25.  
  26.         while ((fscanf(fin, "%f, %f", &niz[i].x, &niz[i].y))!=EOF){
  27.         i++;}
  28.         return i;
  29.  
  30. }
  31.  
  32. void output(struct tacka niz[], int n)
  33. {
  34.     struct tacka min;
  35.     min.x = niz[0].x;
  36.     min.y = niz[0].y;
  37.     int i;
  38.     for(i = 1; i < n ; i++) {
  39.         if(cmp(niz[i], min))
  40.         {
  41.             min.x = niz[i].x;
  42.             min.y = niz[i].y;
  43.         }
  44.  
  45.     }
  46.     FILE *pf = fopen("ispis.txt", "w");
  47.  
  48.     fprintf(pf, "Tacka najbliza koordinatnom pocetku je: %.2f, %.2f\n", min.x, min.y);
  49.     fclose(pf);
  50.     printf("Tacka najbliza koordinatnom pocetku je: %.2f, %.2f\n", min.x, min.y);
  51. }
  52.  
  53. int main()
  54. {
  55.     struct tacka niz[MAX];
  56.     int n;
  57.     n = input(niz);
  58.     output(niz, n);
  59.  
  60.  
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement