Advertisement
Guest User

124214

a guest
Jan 22nd, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. float liczOdleglosc(float x1, float y1, float x2, float y2 );
  6.  
  7. struct Punkt
  8. {
  9. float x;
  10. float y;
  11. };
  12.  
  13. int main()
  14. {
  15.  
  16. int ilosc;
  17. int punkt1 = 0;
  18. int punkt2 = 0;
  19. float odleglosc = 0;
  20. float aktualna = 0;
  21. printf("Ile punktow wprowadzic (2 lub wiecej) : \n");
  22. scanf("%d", &ilosc);
  23. struct Punkt tab[ilosc-1];
  24.  
  25. for(int i = 0; i < ilosc ; i++)
  26. {
  27. printf("Wprowadz punkt #%d\nPodaj X : ", i);
  28. scanf("%f", &tab[i].x);
  29. printf("Podaj Y : ");
  30. scanf("%f", &tab[i].y);
  31. }
  32.  
  33. for(int k = 0; k < ilosc - 1; k++)
  34. {
  35. for(int m = 0; m < ilosc - 1 - k; m++)
  36. {
  37. printf("Punkt %d (%.2f,%.2f); Punkt %d (%.2f,%.2f), odleglosc %.2f\n", k + 1, tab[k].x, tab[k].y, m + 2 + k, tab[m + 1 + k].x, tab[m + 1 + k].y, liczOdleglosc(tab[k].x, tab[k].y, tab[m + 1 + k].x, tab[m + 1 + k].y) );
  38. aktualna = liczOdleglosc(tab[k].x, tab[k].y, tab[m + 1 + k].x, tab[m + 1 + k].y);
  39.  
  40. if(aktualna > odleglosc)
  41. {
  42. odleglosc = aktualna;
  43. punkt1 = k + 1;
  44. punkt2 = m + k + 2;
  45. }
  46. }
  47. }
  48. printf("Najwieksza odleglosc miedzy punktami %d i %d : (%.2f)", punkt1, punkt2, odleglosc);
  49.  
  50. return 0;
  51. }
  52.  
  53.  
  54. float liczOdleglosc(float x1, float y1, float x2, float y2 )
  55. {
  56. float odleglosc = 0;
  57.  
  58. odleglosc = sqrt( pow(x2-x1, 2) + pow(y2-y1, 2) );
  59.  
  60. return odleglosc;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement