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

क्षेत्रफल के आधार पर त्रिभुजों को सॉर्ट करने के लिए C प्रोग्राम


मान लीजिए हमारे पास विभिन्न त्रिभुजों का एक सरणी है जहां triangles[i] = [ai, bi, ci] ये i-वें त्रिभुज की भुजाएं हैं। हमें त्रिभुजों को उनके क्षेत्रफल के आधार पर सॉर्ट करना है। भुजाओं द्वारा त्रिभुज का क्षेत्रफल है: p*(p-a)*(p-b)*(p-c) का वर्गमूल जहां p = (a+b+c)/2।

उदाहरण के लिए, यदि इनपुट (7, 24, 25), (5, 12, 13), (3, 4, 5) है, तो आउटपुट (3, 4, 5), (5, 12, 13), (7, 24, 25) होगा।

हल करने के चरण

  • भुजाओं a, b और c के साथ त्रिभुज ऑब्जेक्ट परिभाषित करें
  • square() फंक्शन परिभाषित करें, जो Triangle t लेगा:
  • a := t.a
  • b := t.b
  • c := t.c
  • return (a + b + c) * (a + b - c) * (a - b + c) * (-a + b + c)
  • मुख्य विधि से, निम्नलिखित करें:
  • i := 0 से शुरू करें, जब i < N, i को 1 से बढ़ाते हुए करें:
    • j := i + 1 से शुरू करें, जब j < N, j को 1 से बढ़ाते हुए करें:
      • यदि square(a[i]) > square(a[j]), तो a[i] और a[j] को स्वैप करें

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <stdio.h> #define N 3 struct Triangle{    int a, b, c; }; int square(struct Triangle t){     int a = t.a, b = t.b, c = t.c;     return (a + b + c)*(a + b - c)*(a - b + c)*(-a + b + c); } void solve(struct Triangle* a){     for (int i = 0; i < N; i++)         for (int j = i + 1; j < N; j++)             if (square(a[i]) > square(a[j])){                 struct Triangle temp = a[i];                 a[i] = a[j];                 a[j] = temp;             } } int main(){     struct Triangle triangles[N] = {{7, 24, 25}, {5, 12, 13}, {3, 4, 5}};     solve(triangles);     for (int i = 0; i < N; i++){         printf("(%d, %d, %d)\n", triangles[i].a, triangles[i].b, triangles[i].c);     } } 

इनपुट

{{7, 24, 25}, {5, 12, 13}, {3, 4, 5}}

आउटपुट

(3, 4, 5) (5, 12, 13) (7, 24, 25)

  1. C प्रोग्राम में समकोण त्रिभुज के परिवृत्त का क्षेत्रफल C प्रोग्राम में समकोण त्रिभुज के परिवृत्त का क्षेत्रफल

    समस्या विवरण यहां हम देखेंगे कि समकोण त्रिभुज के परिवृत्त का क्षेत्रफल कैसे प्राप्त करें। त्रिभुज का कर्ण वृत्त का व्यास बनाता है। इसलिए यदि कर्ण h है, तो त्रिज्या h/2 होगी। सूत्र क्षेत्रफल = π * (h/2)² C++ प्रोग्राम उदाहरण #include <iostream> #include <cmath> using namespace std; fl

  1. C प्रोग्राम: वर्ग के अंदर पत्ती के आकार का क्षेत्रफल C प्रोग्राम: वर्ग के अंदर पत्ती के आकार का क्षेत्रफल

    वर्ग के अंदर पत्ती के आकार का क्षेत्रफल ज्ञात करने के लिए, हमें इसे भागों में विभाजित करना होगा और भागों का क्षेत्रफल ज्ञात करके उन्हें जोड़ना होगा। क्षेत्रफल की गणना के लिए हम पत्ती को दो भागों में विभाजित कर रहे हैं। पहले भाग AECA का क्षेत्रफल ज्ञात करने के लिए, हम चतुर्थांश वृत्त AECDA का क्षेत्र

  1. पायथन प्रोग्राम में सिलेक्शन सॉर्ट पायथन प्रोग्राम में सिलेक्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में सिलेक्शन सॉर्ट और इसके कार्यान्वयन के बारे में सीखेंगे। या इससे पहले। सिलेक्शन सॉर्ट एल्गोरिदम में, एक ऐरे को अनसॉर्टेड पार्ट से न्यूनतम एलिमेंट को रिकर्सिवली ढूंढकर और इसे शुरुआत में इन्सर्ट करके सॉर्ट किया जाता है। दिए गए ऐरे पर सिलेक्शन सॉर्ट के निष्पादन के दौरान दो