Witam, jestem studentem I roku i na informatyce dostałem program do napisania. Oto polecenie:
Napisz program liczący pole trójkąta według wzoru Herona.
Użytkownik podaje współrzędne wierzchołków trójkąta [x1, y1, x2, y2, x3, y3].
Na podstawie tej informacji obliczane jest pole figury według wzoru:
P=Ö{Obw(Obw-a)(Obw-b)(Obw-c)}, gdzie:
Obw - połowa obwodu trójkąta;
a, b, c - długości boków trójkąta (do ich obliczenia wykorzystać tw. Pitagoras’a).
Przed przystąpieniem do obliczenia pola figury należy sprawdzić czy z podanych punktów możliwa jest budowa trójkąta.
W przypadku trójkąta prostokątnego należy wyznaczyć kąty pomiędzy przeciwprostokątnymi a przyprostokątnymi i wypisać je w stopniach.
Mam pierwszą część programu ale nie wiem jak napisać część z trójkątem porstokatym, jak wyznaycz miary kątów. Proszę o pomoc
#include
#include
#include
int main(int argc, char *argv[]){
float x1,x2,x3,y1,y2,y3,a,b,c,Obw;
printf("podaj wspolzedne wiezcholkow: x1,y1, x2,y2, x3,y3\n");
scanf("%f %f %f %f %f %f",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
b=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
c=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
if(a+b
{
printf("Niepoprawne dane, nie da sie zbudawac trojkata\n");
return 0;
}
else
{
Obw=(a+b+c)/2;
printf("Pole trojkata wynosi: %.2f\n",sqrt(Obw*(Obw-a)*(Obw-b)*(Obw-c)));
}
system("PAUSE");
return 0;