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

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


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

आइए एक उदाहरण से समस्या को समझते हैं,

इनपुट

a = 5

आउटपुट

भुजाएं : 5, 12, 13 कोण : 67.38, 22.62, 90

व्याख्या

समकोण की भुजाएं 52 + 122 = 132 के रूप में पाई जाती हैं और इन भुजाओं का उपयोग करके हम कोण ढूंढ सकते हैं, Sin-1 (5/13) और 90 - Sin-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, b = (a2 - 1)/ 2

कोण ढूंढने के लिए, हमें त्रिभुज की भुजाएं ढूंढनी होंगी और इन मानों का उपयोग करके कोसाइन मान ढूंढने होंगे।

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. C++ में घड़ी के घंटे और मिनट की सुई के बीच का कोण C++ में घड़ी के घंटे और मिनट की सुई के बीच का कोण

    मान लीजिए हमारे पास दो मान घंटे (hours) और मिनट (minutes) हैं। हमें घंटे और मिनट की सुई के बीच बने छोटे कोण को ज्ञात करना है। उदाहरण के लिए, यदि इनपुट hour = 12, minutes = 45 है, तो आउटपुट 112.5 होगा। समाधान दृष्टिकोण यदि h = 12, तो h := 0 सेट करें। यदि m = 60, तो m := 0 सेट करें। घंटे की सुई का क

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

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

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

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