Hirdetés

Új hozzászólás Aktív témák

  • Sziasztok!
    Erre a kérdésre tudja valaki a választ?
    Írjon makrófüggvényt, ami két síkbeli pont távolságát számítja ki.
    Ugye a két pont távolságát úgy számoljuk ki, hogy adott az x1, x2, és y1, y2. Ha x2-ből kivonom az x1-et, megkapom a derékszögű háromszög egyik oldalát, amely ugye az x tengellyel párhuzamos. Ugyanígy y2-ből y1-et ha elveszem, megkapom a derékszögű háromszög másik oldalát, ami meg ugye az y tengellyel párhuzamos. Ha összekötöm a két pontot, akkor megkapom a derékszögű háromszög átfogóját. na már most ha ismerek két oldalt, és a háromszög derékszögű, akkor alkalmazhatom a Pitagorasz-tételt.
    Na ezt kéne valahogy felírni egy makrófüggvénnyel.
    Én valami ilyesmit írtam vizsgán:

    #define C = sqrt(a*a+b*b, 1/2);

    Hello.

    Unalom űzésként találtam ezt a topicot, ide legalább tudok írogatni :)

    Előszöris, sajna csak C# ban tudom elmondani az én megoldásomat, de remélem az is segít:

    először is, az oké, hogy kivonod X2 - X1 et, és Y1 ből Y2 őt, de ugye, arra is gondolj, hogy a két pont közül nem tudod, melyik hol, van, tehát először megkell állapítani, hogy melyik a nagyobb, és nagyobból a kisebbet számold ki.

    public double GetDistance(PointF p1, PointF p2)
    {
    double xDistance = Math.Max(p1.X, p2.X) - Math.Min(p1.X, p2.Y);
    double yDistance = Math.Max(p1.Y, p2.Y) - Math.Min(p1.Y, p2.Y);

    return Math.Sqrt(Math.Pow(xDistance, 2) + Math.Pow(yDistance, 2));
    }

    ezt aztán egysorossá is lelehet redukálni, nah meg PointF objektum helyett lehet több double, int, decimal, vagy neked tetsző változót használni. Lehet, hogy nem tökéletes mert notepadba lehet elírtam valamit, de sztem ez jó lesz

Új hozzászólás Aktív témák