Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- float liczOdleglosc(float x1, float y1, float x2, float y2 );
- struct Punkt
- {
- float x;
- float y;
- };
- int main()
- {
- int ilosc;
- int punkt1 = 0;
- int punkt2 = 0;
- float odleglosc = 0;
- float aktualna = 0;
- printf("Ile punktow wprowadzic (2 lub wiecej) : \n");
- scanf("%d", &ilosc);
- struct Punkt tab[ilosc-1];
- for(int i = 0; i < ilosc ; i++)
- {
- printf("Wprowadz punkt #%d\nPodaj X : ", i);
- scanf("%f", &tab[i].x);
- printf("Podaj Y : ");
- scanf("%f", &tab[i].y);
- }
- for(int k = 0; k < ilosc - 1; k++)
- {
- for(int m = 0; m < ilosc - 1 - k; m++)
- {
- 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) );
- aktualna = liczOdleglosc(tab[k].x, tab[k].y, tab[m + 1 + k].x, tab[m + 1 + k].y);
- if(aktualna > odleglosc)
- {
- odleglosc = aktualna;
- punkt1 = k + 1;
- punkt2 = m + k + 2;
- }
- }
- }
- printf("Najwieksza odleglosc miedzy punktami %d i %d : (%.2f)", punkt1, punkt2, odleglosc);
- return 0;
- }
- float liczOdleglosc(float x1, float y1, float x2, float y2 )
- {
- float odleglosc = 0;
- odleglosc = sqrt( pow(x2-x1, 2) + pow(y2-y1, 2) );
- return odleglosc;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement