MartinSRB

Тема 5 - Задатак 1 - Друга верзија

Dec 12th, 2021 (edited)
1,577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. #define MAX 30
  6.  
  7. typedef struct tacka_st{
  8.     double x;
  9.     double y;
  10. }TACKA;
  11.  
  12. TACKA unos_tacke();
  13. TACKA najbliza_pocetku(TACKA*,int);
  14.  
  15. int main(){
  16.     TACKA tacke[MAX],
  17.           min;
  18.     int   n,
  19.           i;
  20.     do{
  21.         printf("Unesite broj tacaka: ");
  22.         scanf("%d", &n);
  23.     }while(n < 1 || n > MAX);
  24.     for(i = 0; i < n; i++){
  25.         printf("Unos %d. tacke: \n",i+1);
  26.         tacke[i] = unos_tacke();
  27.     }
  28.     min = najbliza_pocetku(tacke,n);
  29.     printf("Najbliza tacka je x: %.2lf\t y:%.2lf",min.x,min.y);
  30.     return EXIT_SUCCESS;
  31. }
  32.  
  33. TACKA unos_tacke(){
  34.     TACKA t;
  35.     printf("Unesite koordinatu X: ");
  36.     scanf("%lf",&t.x);
  37.     printf("Unesite koordinatu Y: ");
  38.     scanf("%lf",&t.y);
  39.     return t;
  40. }
  41.  
  42. TACKA najbliza_pocetku(TACKA* tacke,int n){
  43.     double min = pow(tacke[0].x,2.) + pow(tacke[0].y,2.);
  44.     int    inx = 0,
  45.            i;
  46.     for(i = 1; i < n; i++){
  47.         double tmp = pow(tacke[i].x,2.) + pow(tacke[i].y,2.);
  48.         if(tmp < min){
  49.             min = tmp;
  50.             inx = i;
  51.         }
  52.     }
  53.     return tacke[inx];
  54. }
Advertisement
Add Comment
Please, Sign In to add comment