Advertisement
lukicdarkoo

Najbliza tacka, strukture

Jan 9th, 2014
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | None | 0 0
  1. /*
  2. Učitati niz tačaka u ravni (maksimalno 30).
  3. Naći tačku koja je najbliža koordinatnom
  4. početku. Koristiti funkcije.
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <math.h>
  9.  
  10. struct tacka {
  11.     int x;
  12.     int y;
  13. };
  14.  
  15. void ucitajTacke(struct tacka *tacke, int *n) {
  16.     scanf("%d", n);
  17.  
  18.     int i;
  19.     for (i = 0; i < *n; i++) {
  20.         scanf("%d", &tacke[i].x);
  21.         scanf("%d", &tacke[i].y);
  22.     }
  23. }
  24.  
  25. float udaljenost(int x, int y) {
  26.     return sqrt(x * x + y * y);
  27. }
  28.  
  29.  
  30. int main() {
  31.     struct tacka tacke[30]; // `struct tacka` je "tip podatka", `tacke` naziv promjenjive
  32.     int n;
  33.     float najmanjaUdaljenost;
  34.     struct tacka najblizaTacka;
  35.  
  36.     ucitajTacke(tacke, &n);
  37.  
  38.     najmanjaUdaljenost = udaljenost(tacke[0].x, tacke[0].y);
  39.     najblizaTacka = tacke[0];
  40.  
  41.     int i;
  42.     for (i = 1; i < n; i++) {
  43.         if (udaljenost(tacke[i].x, tacke[i].y) < najmanjaUdaljenost) {
  44.             najmanjaUdaljenost = udaljenost(tacke[i].x, tacke[i].y);
  45.             najblizaTacka = tacke[i];  
  46.         }
  47.     }
  48.  
  49.     printf("%d %d", najblizaTacka.x, najblizaTacka.y);
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement