Намере страните a, b, c на триъгълник ABC.

26 10 2010

Задача. Да се състави програма, която намира трите страни на триъгълника ABC, ако се знае, че триъгълника се намира в кординатна система и са дадени разтоянията между трите върха на триъгълника с ординатата и абцисата.За точка A[x1/y2] , B[x2/y2]C[x3/y3], където  x1 -разтоянието между точка А и ординатата, y2 -разтоянието между точка А и абцисата…аналогично и за B[x2/y2]C[x3/y3].

За да решем програмата ще проследим следния чертеж:

Виждаме, че BN=HK и OK=RN=x3 и OH=RB=x2 BN=RN-RB=OK-OH=x3 -x ( BN= x3 -x2)

CN=TR и CK=TO=y3 и NK=RO=y2 CN=CK-NK=TO-RO=y3- y2  (CN=y3-y2)

∆BNC – правоъгълен с ъгъл BNC=90o от това следва , че CB2=a2=CN 2 + BN2 или след заместване на CN=y3y2 и BN= x3-x2 получаваме CB2=a2=(y3 – y2)2 + (x3 – x2).Създавайки програмата ние ще дадем стойности на а – корен квадратен от (y3 – y2)2 + (x3 – x2).Аналогично е и за стойностите на AB=c и  AC=b. AC2=b2=(y3 – y1)2 + (x3 – x1)2 и за AB2 = c2 =(y2 – y1)2 + (x2 – y1)2.

Една програма, която решава  задачата е следна:

#include <iostream>
#include <cmath>
using namespace std;
int main(){
cout<<"x1=";int x1;cin>>x1;
cout<<"x2=";int x2;cin>>x2;
cout<<"x3=";int x3;cin>>x3;
cout<<"y1=";int y1;cin>>y1;
cout<<"y2=";int y2;cin>>y2;
cout<<"y3=";int y3;cin>>y3;
double a, b, c;
a= sqrt((x3-x2)*(x3-x2) + (y3-y2)*(y3-y2));
b= sqrt((x3-x1)*(x3-x1) + (y3-y1)*(y3-y1));
c= sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
return 0;}

~{S.K.G}~


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: