Advertisement
MartinSRB

Тема 5 - Задатак 1

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