Forum MOJA PASJA - PROGRAMOWANIE Strona Główna
http://www.programuj.com
  WikiWiki  FAQFAQ    SzukajSzukaj    UżytkownicyUżytkownicy    GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 




jak zanimowac przecinanie się odcinków


 
Napisz nowy temat   Odpowiedz do tematu    Forum MOJA PASJA - PROGRAMOWANIE Strona Główna -> Borland C++ Builder
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
niki



Dołączył: 02 Sty 2017
Posty: 1

Post Zacytuj zaznaczone Odpowiedz z cytatem OCEŃ POST
Hej, potrzebuje pomocy. Very Happy
Chodzi o to że musimy zrobić projekt w c++ builder i dostaliśmy ciężki temat.
Jestem w 1 klasie liceum i dopiero zacząłem programowanie a musze zrobic oto taki projekt "przecinanie odcinków projekt powinien przedstawić w pełniejszej wersji np. ilustracyjna graficzną zaprezentować podczas zajęc algorytm geometryczny przecinania sie odcinkow"
i tutaj dam ten program w dev c++
c++:
#include <iostream>
using namespace std;
float wyz(float x1, float y1, float x2, float y2, float x, float y)
{
    return x1 * y2 + x2 * y + y1 * x - x * y2 - x2 * y1 - y * x1;
}


bool nalezy(float xp, float yp, float xk, float yk, float x, float y)
{
    float a, b;
    if (xk != xp) {
        a = (yk - yp) / (xk - xp);
        b = yk - a * xk;
        if (y == a * x + b) {
            if ((x >= xp) && (x <= xk) && (y >= yp) && (y <= yk)) {
                return true;
            }
            else {
                return false;
            }
        }
        else {
            return false;
        }
    }
    else {
        if ((x == xk) && (y >= yp) && (y <= yk)) {
            return true;
        }
        else {
            return false;
        }
    }
}


int main()
{
    float x1, y1, x2, y2, x3, y3, x4, y4, w1, w2, w3, w4;
    int p;
    cout << "Podaj x1" << endl;
    cin >> x1;
    cout << "Podaj y1" << endl;
    cin >> y1;
    cout << "Podaj x2" << endl;
    cin >> x2;
    cout << "Podaj y2" << endl;
    cin >> y2;
    cout << "Podaj x3" << endl;
    cin >> x3;
    cout << "Podaj y3" << endl;
    cin >> y3;
    cout << "Podaj x4" << endl;
    cin >> x4;
    cout << "Podaj y4" << endl;
    cin >> y4;
    w1 = wyz(x1, y1, x2, y2, x3, y3);
    w2 = wyz(x1, y1, x2, y2, x4, y4);
    w3 = wyz(x3, y3, x4, y4, x1, y1);
    w4 = wyz(x3, y3, x4, y4, x2, y2);
    p = 0;
    if ((w1 * w2 < 0) && (w3 * w4 < 0)) {
        p = 1;
    }
    if ((w1 == 0) && (nalezy(x1, y1, x2, y2, x3, y3))) {
        p = 1;
    }
    if ((w2 == 0) && (nalezy(x1, y1, x2, y2, x4, y4))) {
        p = 1;
    }
    if ((w3 == 0) && (nalezy(x3, y3, x4, y4, x1, y1))) {
        p = 1;
    }
    if ((w4 == 0) && (nalezy(x3, y3, x4, y4, x2, y2))) {
        p = 1;
    }
    if (p == 0) {
        cout << "Odcinki nie przecinaja sie" << endl;
    }
    else {
        cout << "Odcinki przecinaja sie" << endl;
    }

    return 0;
}
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum MOJA PASJA - PROGRAMOWANIE Strona Główna -> Borland C++ Builder Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


hosting sponsorowany przez hosted.pl
Powered by phpBB © 2001, 2002 phpBB Group