dla 3 danych punktów płaszczyzny

Odpowiedz Nowy wątek
2011-10-19 22:59
onaion
0

program ma dla 3 danych punktów płaszczyzny
-obliczać ich wzajemne odległości
-wyznaczać pary/parę najbliższych punktów
-sprawdzać czy punkty są współliniowe

dla dwóch ostatnich podpunktów należy przyjąć liczbę rzeczywista jako dokładność obliczeń

o ile podpunkt I jest latwy to z nastpenymi mam problem, proszę o pomoc, wskazówkę

mój kod wygląda narazie tak:
"

#include <iostream>
#include <math.h>
using namespace std;
int main ()
{ 
    long double x1,y1,x2,y2,x3,y3;
    long double o12,o13,o23;

    cout<<"Podaj wspolzedna x pierwszego punktu: "<<endl;
    cin>>x1;
    cout<<"Podaj wspolzedna y pierwszego punktu: "<<endl;
    cin>>y1;

    cout<<"Podaj wspolzedna x drugiego punktu: "<<endl;
    cin>>x2;
    cout<<"Podaj wspolzedna y drugiego punktu: "<<endl;
    cin>>y2;

    cout<<"Podaj wspolzedna x trzeciego punktu: "<<endl;
    cin>>x3;
    cout<<"Podaj wspolzedna y trzeciego punktu: "<<endl;
    cin>>y3;

    o12=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    cout<<"Odleglosc pkt 1 od pkt 2 wynosi: "<<o12<<endl;

    o13=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
    cout<<"Odleglosc pkt 1 od pkt 3 wynosi: "<<o13<<endl;

    o23=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
    cout<<"Odleglosc pkt 2 od pkt 3 wynosi: "<<o23<<endl;

    if(o12<o13)
    {
                 if(o12<o23)
                 {
                      cout<<"Najblizej siebie leza pkt 1 i pkt 2"<<endl;
                    }
    }
    if(o13<o23)
    {
                      cout<<"Najblizej siebie leza pkt 1 i pkt 3"<<endl;

    }

    if(o23<o12)
    {
                if(o23<o13)
                {
                      cout<<"Najblizej siebie leza pkt 2 i pkt 3"<<endl;
                    }
    }

    system("Pause");
    return 0;

    }

"

część z ifami nie działa mi poprawnie..i nie przyjmuje żadnej dokładności..

jak wyznaczy parę/pary nablizszych punktow z podaną dokładnością(liczbą rzeczywistą)?

edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-10-20 09:52
Mr Obvious
0

Hint, skorzystaj ze struktur i pętli. Wyznacz odległość minimalną, a potem sprawdź

if(odległosc_ab - min <= dokladnosc)
  printf("Para %d %d\n", a, b);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0