Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में एक समकोण त्रिभुज की अन्य दो भुजाएँ और कोण ज्ञात कीजिए

इस समस्या में, हमें एक समकोण त्रिभुज की एक भुजा को निरूपित करने वाला एक पूर्णांक दिया जाता है। हमें यह जाँचने की आवश्यकता है कि क्या भुजा a के साथ समकोण त्रिभुज होना संभव है। यदि यह संभव है, तो एक समकोण त्रिभुज की अन्य दो भुजाएँ और कोण ज्ञात कीजिए।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

a = 5

आउटपुट

Sides : 5, 12, 13
Angles : 67.38, 22.62, 90

स्पष्टीकरण

समकोण की भुजाएँ 5 2 . के रूप में पाई जाती हैं + 12 2 =13 2 और इन भुजाओं का उपयोग करके हम कोणों को पा सकते हैं, पाप -1 (5/13) और 90 - पाप -1 (5/13)।

समाधान दृष्टिकोण

पाइथागोरस प्रमेय का उपयोग करके समस्या का एक सरल समाधान है। हम जानते हैं कि एक समकोण त्रिभुज की भुजाएँ पाइथागोरस प्रमेय का अनुसरण करती हैं, जो कि

. है
a2 + b2 = c2

जहाँ a और b त्रिभुज की भुजाएँ हैं और c त्रिभुज का कर्ण है।

इसका उपयोग करके, हम a का उपयोग करके b और c के मानों की गणना करेंगे।

केस 1 - अगर a सम है,

c = (a2 + 4) + 1
b = (a2 + 4) - 1

केस 2 - अगर a विषम है,

c = (a2 + 1)/ 2
c = (a2 - 1)/ 2

कोणों को खोजने के लिए, हमें त्रिभुज की भुजाएँ ज्ञात करनी होंगी और इन मानों का उपयोग करके cos मान ज्ञात करना होगा।

cos(A) = b2 + c2 - a2 / 2bc
cos(B) = a2 + c2 - b2 / 2ac
cos(C) = a2 + b2 - c2 / 2ab

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
#include <cmath>
using namespace std;
#define PI 3.1415926535
void printAngles(int a, int b, int c) {
   double x = (double)a;
   double y = (double)b;
   double z = (double)c;
   double A = (((double)(acos(( (y*y) + (z*z) - (x*x) ) / (2*y*z))))* 180 / PI);
   double B = ((double)(acos(( (x*x) + (z*z) - (y*y) ) / (2*x*z)))* 180 / PI);
   cout<<"Angles: A = "<<A<<", B = "<<B<<", C = 90";
}
void printOtherSides(int n) {
   int b,c;
   if (n & 1) {
      if (n == 1)
         cout << -1 << endl;
      else{
         b = (n*n-1)/2;
         c = (n*n+1)/2;
      }
   } else {
      if (n == 2)
         cout << -1 << endl;
      else {
         b = n*n/4-1;
         c = n*n/4+1;
      }
   }
   cout<<"Sides : a = "<<n<<", b = "<<b<<", c = "<<c<<endl;
   printAngles(n,b,c);
}
int main() {
   int a = 5;
   printOtherSides(a);
   return 0;
}

आउटपुट

Sides : a = 5, b = 12, c = 13
Angles: A = 22.6199, B = 67.3801, C = 90

  1. सी ++ में घड़ी के घंटे और मिनट के बीच कोण खोजने का कार्यक्रम?

    मान लीजिए हमारे पास दो मान घंटे और मिनट हैं। हमें घण्टे और मिनट की सूई के बीच बना एक छोटा कोण ज्ञात करना है। इसलिए, यदि इनपुट घंटा =12 मिनट =45 जैसा है, तो आउटपुट 112.5 . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: अगर एच =12, तो एच सेट करें:=0 अगर एम =60, तो एम सेट करें:=0 hAn

  1. C++ . में दिए गए वृत्त के दो भागों के कोणों का सबसे छोटा अंतर ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें एक सरणी दी गई है जो एक वृत्त के कोणों के आधार पर एक वृत्त के टुकड़े को दर्शाती है। हमारा कार्य C++ में दिए गए वृत्त के दो भागों के कोणों का सबसे छोटा अंतर खोजने के लिए एक कार्यक्रम बनाना है । समस्या का विवरण - हमें सरणी में वृत्त के सभी टुकड़ों के कोण दिए गए हैं। हमें टुकड़े को

  1. एक समकोण त्रिभुज के मध्य-बिंदु और आधार के बीच कोण खोजने के लिए पायथन प्रोग्राम

    मान लीजिए कि हमारे पास एक समकोण त्रिभुज की दो भुजाएँ हैं, ये भुजाएँ AB और BC हैं। मान लें कि कर्ण AC का मध्य बिंदु M है। हमें M और BC के बीच का कोण ज्ञात करना है। इसलिए, अगर इनपुट ab =6 bc =4 जैसा है, तो आउटपुट 56.309932474020215 होगा क्योंकि ab/bc का arc_tan 0.9828 है लेकिन डिग्री में यह 56.31 ह