Zastosowanie twierdzenia sinusów i cosinusów
Kod był wyświetlany 2234 razy.
    /*
  Name: Zastosowanie twierdzenia sinusów i cosinusów
  Copyright: GPL GNU
  Date: 02-05-10 09:17
  Description: 
*/
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;

      int main(void)
      {
      float radian= 57.296;
      char znak;
      float a,b,c; //boki trojkata
      float alfa, beta,gama; //kąty 
                  //zgodnie z kierunkiem ruchu zegara
      
      /*twierdzenie sinusow: 
      W dowolnym trójkącie stosunek boku do sinus kąta 
      przeciwległego jest wiekością stałą i równa się średnicy
      kołą opisanego na tójkącie.
      a/sin(alfa)=b/sin(beta)=c/sin(gama)*/
      
      /*twierdzenie cosinusow: kwadrat dowolnego boku równa się 
      sumie kwadratow pozostałych bokow minus pododwojony iloczyn
      pozostałych bokow oraz cosinusa kąta zawartego między tymi bokami.
      c^2=a^2+b^2-2*a*b*cos(gama)*/      
      
      cout<<"\n\n\tZASTOSOWANIE TWIERDZENIA SINUSOW I COSINUSOW \n\n";
      cout<<"\t\tPodaj dlugosc 'a' boku trojkata: ";
      cin>>a;
      cout<<"\n\t";
      
      cout<<"\n\tCzy znasz dlugosc drugiego boku ?\n";
      cout<<"\n\t\tJesli Tak nacisnij klawisz t\n";
      cout<<"\n\t\tJesli Nie nacisnij klawisz n:\n\n ";
      cout<<"\n\t\t"<<"Nacisnij klawisz:" ;
      cin>>znak;
       if(znak=='n')
       {
      cout<<"\n\n\tPodaj wartosc kata przyleglego w stopniach: ";
      cin>>beta;
      cout<<"\n\n\tPodaj wartosc drugiego kata w stopniach: ";
      cin>>gama;
      alfa=180-beta-gama;
      b=sin(beta/radian)*a/sin(alfa/radian);
      c=sin(gama/radian)*a/sin(alfa/radian);
       }
     else
       {
      cout<<"\n\n\tPodaj dlugosc drugiego boku 'b': ";
      cin>>b;
      cout<<"\n\n\tCzy znasz dlugosc trzeciego boku 'c': ";
      cout<<"\n\n\t\t jesli Tak nacisnij klawisz t";
      cout<<"\n\n\t\tjesli Nie nacisnij klawisz n";
      cin>>znak;
      cout<<"\t\t";
      if(znak='n')
      {
      cout<<"\n\n\tPodaj wartosc kata: ";
      cin>>gama;
      c=sqrt(a*a+b*b-2*a*b*cos(gama/radian));
      alfa=a*sin(gama/radian/c);
      alfa=radian*asin(alfa);
      beta=180-alfa-gama;
      }
      else
      {
       cout<<"Podaj dlugosc trzeciego boku:  ";
       cin>>c;
       gama=(a*a+b*b-c*c)/(2*a*b);
       gama=radian*acos(gama);
       alfa=radian*asin(a*sin(gama/radian)/c);
       beta=180-alfa-gama;
       }}
       cout<<"\n\n\tBok a: "<<a;
       cout<<"\n\n\tBok b: "<<b;
       cout<<"\n\n\tBok c:  "<<c;
       cout<<"\n\n\tKat alfa: "<<alfa;
       cout<<"\n\n\tKat beta: "<<beta;
       cout<<"\n\n\tKat gama: "<<gama;
       
       cin.ignore();
       getchar();
       return 0;
       }
       
      
          
      
      
      
      
      
    
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT