Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak napisać program, który rozpozna jaka to figura czworoboczna? [C++]

Ostatnio zmodyfikowano 2018-11-26 19:18
Autor Wiadomość
karol_k
Temat założony przez niniejszego użytkownika
Jak napisać program, który rozpozna jaka to figura czworoboczna? [C++]
» 2018-11-25 10:05:17
Mam takie zadanko:
-program wczytuje x,y kątów czworokąta od lewego dolnego kolejno: x1,y1,x2,y2,...,x4,y4;
-później program ma rozpoznać jaka to figura:
K - kwadrat
P - prostokąt
R - romb
C - inna czworoboczna figura
-na koniec oblicza jej pole;
Oto przykład jaki podano w tym zadaniu:
Dla danych wejściowych:                   poprawnym wynikiem jest:
0 4 7 4 7 0 0 0                                    P 28

Do końca nie wiem jak się za to zabrać. Wystarczyłoby nawet rozpoznać czy figura jest kwadratem, ale nie do końca chce mi to działać :/
Kodu nie pokaże, bo i tak tam nic nie napisałem, oprócz totalnych głupot (nie chce się skompromitować).

Z góry dziękuję za pomoc.
P-172978
pekfos
» 2018-11-25 14:46:06
Wyznacz długości krawędzi oraz to, czy wszystkie kąty są prostopadłe. Kąt A-B-C jest prostopadły, gdy iloczyn skalarny wektorów AB i BC jest zerowy. Jeśli wszystkie kąty są prostopadłe, masz kwadrat/prostokąt, jeśli nie, to masz romb/inne. Dalej zidentyfikujesz na podstawie długości krawędzi.
P-172980
karol_k
Temat założony przez niniejszego użytkownika
Pytanie
» 2018-11-25 20:29:26
Czyli mam zrobić taki warunek?:
if(boka*bokb*cos(90)==0)
P-172981
pekfos
» 2018-11-25 21:31:49
P-172982
mateczek
» 2018-11-26 15:04:38
Jeśli wektory są prostopadłe to mają tak jakby "przeciwne"  współrzędne np  Wektor (1,3) jest prostopadły do wektora (-3,1)

teraz przykład dla trzech punktów podanych w kolejności
A (0,0)
B (1,3)
C (-5,1)

Wektor AB = (1-0,3-0)= (1,3)
Wektor BC    (-5 -1,3-1) = (-6, 2)

Teraz wystarczy przemnożyć
C/C++
if( AB.x * BC.x + AB.y * BC.y == 0 ) { //-6*1+2*3 =0
    //kąt prosty
}
P-172987
karol_k
Temat założony przez niniejszego użytkownika
Odp
» 2018-11-26 19:18:54
Muszę to zrobić bez wektorów, ale sobie już poradzę.
P-172988
« 1 »
  Strona 1 z 1