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

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


कार्य n x n मैट्रिक्स को विकर्ण पैटर्न में प्रिंट करना है।

यदि n 3 है तो विकर्ण पैटर्न में मैट्रिक्स प्रिंट करना है:

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

इसलिए आउटपुट इस तरह होगा:

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

उदाहरण

इनपुट: 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

समस्या सुझाव देती है कि हमें एक संख्या n देनी है और n x n का मैट्रिक्स जनरेट करना है और फिर मैट्रिक्स को विकर्ण पैटर्न में ट्रैवर्स करना है और मानों को अलग मैट्रिक्स में संग्रहीत करना है।

लेकिन यह हमारे कोड की जटिलता बढ़ा देगा, इसलिए हम:

  • N X N आकार का एक मैट्रिक्स बनाएंगे जो प्रिंटिंग से पहले पैटर्न संग्रहीत करेगा।
  • पैटर्न के ऊपरी त्रिकोण में एलिमेंट्स संग्रहीत करेंगे। जैसा कि देखा गया है, जैसे-जैसे आप विकर्ण के नीचे जाते हैं पंक्ति सूचकांक 1 से बढ़ता है और कॉलम सूचकांक 1 से घटता है।
  • एक बार ऊपरी त्रिकोण पूरा हो जाने पर निचले त्रिकोण के एलिमेंट्स को ऊपरी त्रिकोण के समान तरीके से संग्रहीत करें यानी पंक्ति सूचकांक 1 से बढ़ता है और कॉलम सूचकांक 1 से घटता है जैसे-जैसे आप विकर्ण के नीचे जाते हैं।

एल्गोरिदम

int printdiagonal(int n)
शुरुआत
चरण 1: int mat[n][n], i, j, k, d=1, m घोषित करें
चरण 2: i = 0 से n तक i++ लूप
   j को i और k को 0 असाइन करें
   j = i से j >= 0 तक j-- लूप
      mat[k][j] = d असाइन करें
      d और k को 1 से बढ़ाएं
   लूप समाप्त
लूप समाप्त
चरण 3: k = 1 से n तक k++ लूप
   i और m को k के बराबर असाइन करें
   j = n-1 से j >= m तक j-- लूप
      mat[i][j] = d असाइन करें
      d और i को 1 से बढ़ाएं
   लूप समाप्त
लूप समाप्त
चरण 4: i = 0 से n तक i++ लूप
   j = 0 से n तक j++ लूप
      mat[i][j] प्रिंट करें
   लूप समाप्त
   नई लाइन प्रिंट करें
लूप समाप्त
समाप्त

उदाहरण

#include <stdio.h>
int printdiagonal(int n){
    int mat[n][n], i, j, k, d=1, m;
    for ( i = 0; i < n; i++){
        j = i;
        k = 0;
        for ( j = i; j >= 0; j--){
            mat[k][j] = d;
            d++;
            k++;
        }
    }
    for ( k = 1; k < n; k++){
        i = m = k;
        for ( j = n-1; j >= m; j--){
            mat[i][j] = d;
            d++;
            i++;
        }
    }
    for ( i = 0; i < n; i++){
        for(j = 0; j < n; j++){
            printf("%d ", mat[i][j] );
        }
        printf("\n");
    }
}
int main(int argc, char const *argv[]){
    int n = 3;
    printdiagonal(n);
    return 0;
}

आउटपुट

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

1 2 4
3 5 7
6 8 9

  1. C में संख्याओं को कॉलम-वार प्रिंट करने का प्रोग्राम C में संख्याओं को कॉलम-वार प्रिंट करने का प्रोग्राम

    प्रोग्राम विवरण नीचे दिखाए अनुसार प्राकृतिक संख्याओं को कॉलम-वार प्रिंट करें: 1 2 6 3 7 10 4 8 11 13 5 9 12 14 15 एल्गोरिदम i पंक्तियों के लिए और j कॉलम के लिए है 5 का अर्थ 5 पंक्तियों और कॉलम के लिए पैटर्न बनाना है प्रत्येक पंक्ति (i) के लिए लूप K को i से आरंभ करें प्रत्येक कॉलम (j) के लिए लूप वर

  1. C प्रोग्रामिंग में मैट्रिक्स को स्नेक पैटर्न में प्रिंट करना C प्रोग्रामिंग में मैट्रिक्स को स्नेक पैटर्न में प्रिंट करना

    nxn आकार का एक ऐरे दिया गया है, प्रोग्राम को ऐरे के एलिमेंट्स को स्नेक पैटर्न में प्रिंट करना है बिना उनकी मूल स्थानों में कोई बदलाव किए। उदाहरण इनपुट: arr[]= 100 99 98 97 93 94 95 96 92 91 90 89 85 86 87 88 आउटपुट: 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 प्रोग्राम मैट्रिक्स की प्

  1. दिए गए ऐरे से C प्रोग्राम में निचले त्रिकोणीय मैट्रिक्स पैटर्न प्रिंट करें दिए गए ऐरे से C प्रोग्राम में निचले त्रिकोणीय मैट्रिक्स पैटर्न प्रिंट करें

    परिचय दिए गए n x n मैट्रिक्स को निचले त्रिकोणीय पैटर्न में प्रिंट करना है। निचला त्रिकोणीय मैट्रिक्स क्या है? निचला त्रिकोणीय मैट्रिक्स वह मैट्रिक्स होता है जिसमें मुख्य विकर्ण के नीचे के सभी तत्व (मुख्य विकर्ण के तत्वों सहित) होते हैं और बाकी सभी तत्व शून्य होते हैं। उदाहरण इनपुट: matrix[3][3] =