ďťż

Ładny brzuch

Witam Panowie mam malutki problem. Mam do napsiania nastepujacy program w C++:
Program powinien być uruchamiany z trzema parametrami. Parametry te to długości boków trójkąta. W przypadku braku parametrów program musi się przedstawić i poprosić o wprowadzenie ich.
Zadaniem programu jest przeprowadzenie następujących obliczeń:
- sprawdzić, czy jest możliwe zbudowanie trójkąta o takich bokach,
- jeśli istnieje taki trójkąt to obliczyć i podać wartości kątów w stopniach i radianach,
- zaklasyfikować trójkąt do jednej z trzech kategorii: ostrokątny, prostokątny lub rozwartokątny,
- podać wartości wszystkich wysokości tego trójkąta,
- podać pole tego trójkąta oraz pole kół: wpisanego i opisanego na tym trójkącie

Wasze forum bardzo mi juz pomoglo, jednak nie wiem np. jak obliczyc wartosci katow w stopniach i radianach i z tym okregiem tez nie wiem ;( To samo tyczy sie tego czy jest rozwarokatny,prostokatny itp...Moze pomoglibyscie troszke? Poprostu musze to zaliczyc bo mnie uwala na drugi rok ehhh...zycie. Z gory dziekuje za wasza pomoc i pozdrawiam



W sumie juz napsialem wiekszosc teraz chodzi mi juz tylko o pomoc z tymi kątami i zamianą ich na radiany no i czy to trojkat rozwartokatny czy ostrokatny(ale jak juz bede te kąty mial to sobie poradze z tym)

Kąty, to pewnie musisz obliczyć z funkcji trygonometrycznych, może atan:?

Z pólami kół, hmmm:? No tu trzeba troszkę pokombinować, może wyznaczyć długość promienia pisząc równanie 2. prostych (symetralnych - o ile dobrze pamiętam). Może jest jakiś wzór - nie wiem:D

A co do określenia rozwartokątny itd... to jak obliczysz kąty to możesz sprawdzić:D

Kodie

cytat:Kodie napisał:
może atan:?Jak nie wiemy to nie zgadujemy ;P Arcus tangens raczej się tu nie przyda.

1) OBLICZANIE KŚTÓW MAJŚC DANE BOKI
Zastosujemy w tym celu twierdzenie cosinusów: oznaczamy odpowiednio:
'alfa' - kąt naprzeciwległy boku a
'beta' - naprzeciwległy b
'gama' - naprzeciwległy c

cosinusy kątów liczymy ze wzorów:
a^2 = b^2 + c^2 - 2bc*cos'alfa'
b^2 = a^2 + c^2 - 2ac*cos'beta'
c^2 = a^2 + b^2 - 2ab*cos'gama'

z kątami to już wiadomo:
'alfa' = arccos'alfa' itd...

programy liczą standardowo w radianach; przeliczasz wiec korzystając że:
1st. = 'pi'/180 [rad]

2) Klasyfikacja ostrokątny itd...
nic prostszego:
- prostokątny ma dokładnie jeden kąt prosty
- ostrokątny ma wszytkie kąty <= 90st.
- rozwartokątny ma jeden kąt > 90st.

3) WYSOKOĄCI
Trójkąt ma 3 wysokości (tak dla przypomnienia:P):
[ Ha to wysokość poprowadzona z wierzchołka A, Hb z B itd... ]
Ha = b*sin'gama'
Hb = c*sin'alfa'
Hc = a*sin'beta'

4) POLE
liczymy sobie pomocnicze:
p = 1/2 * (a+b+c)

obliczamy pole:
P = pierwiastek.z( p(p-a)(p-B)(p-c) )

5) KOŁO OPISANE
liczymy promień:
2R = a/sin'alfa' = b/sin'beta' = c/sin'gama'

pole to chyba już łatwo:
P = 'pi' * R^2

6) KOŁO WPISANE
liczymy sobie pomocnicze:
p = 1/2 * (a+b+c)

liczymy pole trójkąta:
P = pierwiastek.z( p(p-a)(p-B)(p-c) )

i wtedy nasz promień koła wpisanego:
r = P/p

nie problem więc już z jedo polem:
P = 'pi' * r^2

Chyba jest to w miarę jasne ;)

─── Шє Ժסп'т ցס тס Яаvєиիסլм . . . ───



Oki wszystko super fajnie pieknie...dziekuje za pomoc juz parwie napisalem ten projekt, ale jeszcze nie wiem (nie rozumię) jednego: Jak wylicze juz wartosci cos alfa beta i gama to jak je potem przeksztalcic na stopnie??? Bo wyszly miz tych wzorow:
a^2 = b^2 + c^2 - 2bc*cos'alfa'
b^2 = a^2 + c^2 - 2ac*cos'beta'
c^2 = a^2 + b^2 - 2ab*cos'gama'
miary tych katow ale jak je zamienic na stopnie a potem na radiany? prosze o pomoc bo naparwde cienki z programowania jestem a i tak nigdy programista nie zostane, musze to tylko zaliczyc :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •