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

C भाषा में सममित डबल ट्रायंगल पैटर्न प्रिंट करना


लाइनों की संख्या दिए जाने पर, प्रोग्राम को न्यूनतम जटिलता के साथ सममित डबल ट्रायंगल पैटर्न प्रिंट करना होगा।

उदाहरण

इनपुट: 5
आउटपुट:
      X           X
    O X         O X
  X O X O X
    X O         X O
      X           X

पूरी समस्या में 3 अलग-अलग भाग हैं:

  • विषम n के लिए n-1 लाइनों या सम n के लिए n-2 लाइनों के साथ ऊपरी आधा प्रिंट करना।
  • मध्य लाइनें प्रिंट करना, विषम n के लिए 1 लाइन या सम n के लिए 3 लाइनें।
  • निचला आधा प्रिंट करना, विषम n के लिए n-1 लाइनों या सम n के लिए n-2 लाइनों के साथ।

एल्गोरिदम

शुरुआत
चरण 1: यदि (n % 2 == 0) तो x = x - 1; p को n-1 स्पेस के लिए परिभाषित करें; s = 1 कैरेक्टर के लिए परिभाषित करें
चरण 2: i=1 से (x-1)/2 तक i++ लूप
   j=1 से p तक j++ लूप: स्पेस प्रिंट करें
   यदि i % 2 != 0 तो Printx(s) अन्यथा Printo(s)
   नई लाइन प्रिंट करें
   p++ करें
   j=1 से p तक j++ लूप: स्पेस प्रिंट करें
   यदि i % 2 != 0 तो Printx(s) अन्यथा Printo(s)
   नई लाइन प्रिंट करें
   p-- करें, s++ करें
लूप समाप्त
चरण 3: यदि n % 2 == 0 तो अतिरिक्त ऊपरी मध्य
चरण 4: मध्य लाइन प्रिंट करें
चरण 5: यदि n % 2 == 0 तो अतिरिक्त निचला मध्य
चरण 6: p = 1 सेट करें
चरण 7: यदि n % 2 == 0 तो x--, p = 2
चरण 8: q = x / 2 सेट करें
चरण 9: i=1 से x तक i++ लूप: स्पेस प्रिंट, Printx(q), यदि i%2==0 तो q--, नई लाइन, p++
चरण 10: नई लाइन प्रिंट करें
चरण 11: Printx(n) - x से शुरू होने वाला वैकल्पिक x o
चरण 12: Printo(n) - o से शुरू होने वाला वैकल्पिक x o
समाप्त

उदाहरण

#include <stdio.h>
// x से शुरू होने वाला वैकल्पिक x o प्रिंट करना
int printx(int n) {
    int i;
    for ( i = 1; i <= n; i++) {
        if (i % 2 != 0) printf("x ");
        else printf("o ");
    }
    return 0;
}
// o से शुरू होने वाला वैकल्पिक x o प्रिंट करना
int printo(int n) {
    int i;
    for ( i = 1; i <= n; i++) {
        if (i % 2 != 0) printf("o ");
        else printf("x ");
    }
    return 0;
}
// n के लिए पैटर्न प्रिंट करना
int printpattern(int n) {
    // ऊपरी आधा
    int x = n;
    int i, j;
    if (n % 2 == 0) x = x - 1;
    int p = n - 1;
    int s = 1;
    for ( i = 1; i <= (x - 1) / 2; i++) {
        for ( j = 1; j <= p; j++) printf(" ");
        if (i % 2 != 0) printx(s); else printo(s);
        printf("\n");
        p++;
        for ( j = 1; j <= p; j++) printf(" ");
        if (i % 2 != 0) printx(s); else printo(s);
        printf("\n");
        p--; s++;
    }
    // सम के लिए अतिरिक्त ऊपरी मध्य
    if (n % 2 == 0) {
        for ( i = 1; i <= p; i++) printf(" ");
        if (n % 4 != 0) printx(n / 2); else printo(n / 2);
        printf("\n");
    }
    // मध्य लाइन
    if (n % 2 != 0) printx(n);
    else {
        if (n % 4 != 0) { printx(n / 2); printx(n / 2); }
        else { printx(n / 2); printo(n / 2); }
    }
    printf("\n");
    // सम के लिए अतिरिक्त निचला मध्य
    if (n % 2 == 0) { printf(" "); printx(n / 2); printf("\n"); }
    // निचला आधा
    p = 1;
    if (n % 2 == 0) { x--; p = 2; }
    int q = x / 2;
    for ( i = 1; i <= x; i++) {
        for (int j = 1; j <= p; j++) printf(" ");
        printx(q);
        if (i % 2 == 0) q--;
        printf("\n");
        p++;
    }
    printf("\n");
    return 1;
}
int main() {
    int n = 5;
    printpattern(n);
    return 0;
}

आउटपुट

यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा।

    X     X
  O X   O X
X O X O X
  X O   X O
    X     X

  1. C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना

    पूर्णांक एलिमेंट्स के एक ऐरे के साथ, डुप्लिकेट मानों को हटाकर विशिष्ट एलिमेंट्स को सॉर्टेड तरीके से प्रिंट करना है। नीचे एक ऐरे दिया गया है जो पूर्णांक प्रकार के मानों को 4, 6, 5, 3, 4, 5, 2, 8, 7 और 0 के क्रम में संग्रहीत करता है। अब, परिणाम सॉर्टेड एलिमेंट्स को 0, 2, 3, 4, 4, 5, 5, 6, 7 और 8 के

  1. C प्रोग्राम में मैट्रिक्स में विकर्ण पैटर्न में संख्याएं प्रिंट करना C प्रोग्राम में मैट्रिक्स में विकर्ण पैटर्न में संख्याएं प्रिंट करना

    कार्य n x n मैट्रिक्स को विकर्ण पैटर्न में प्रिंट करना है। यदि n 3 है तो विकर्ण पैटर्न में मैट्रिक्स प्रिंट करना है: इसलिए आउटपुट इस तरह होगा: उदाहरण इनपुट: 3 आउटपुट: 1 2 4 3 5 7 6 8 9 इनपुट: 4 आउटपुट: 1 2 4 7 3 5 8 11 6 9 12 14 10 13 15 16 समस्या सुझाव देती है कि हमें एक स

  1. पायथन में पैटर्न कैसे प्रिंट करें पायथन में पैटर्न कैसे प्रिंट करें

    पायथन में पैटर्न्स को नेस्टेड फॉर लूप्स का उपयोग करके प्रिंट किया जा सकता है। बाहरी लूप का उपयोग पंक्तियों की संख्या के माध्यम से इटरेट करने के लिए किया जाता है जबकि आंतरिक लूप का उपयोग स्तंभों की संख्या को संभालने के लिए किया जाता है। प्रिंट स्टेटमेंट को आवश्यकतानुसार विभिन्न पैटर्न बनाने के लिए मॉ