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

सी प्रोग्राम में मैट्रिक्स विकर्ण पैटर्न में प्रिंट नंबर।

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

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

सी प्रोग्राम में मैट्रिक्स विकर्ण पैटर्न में प्रिंट नंबर।

तो आउटपुट इस तरह होगा -

सी प्रोग्राम में मैट्रिक्स विकर्ण पैटर्न में प्रिंट नंबर।

उदाहरण

Input: 3
Output:
   1 2 4
   3 5 7
   6 8 9
Input: 4
Output:
   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)
START
STEP 1: DECLARE int mat[n][n], i, j, k, d=1, m
STEP 2: LOOP FOR i = 0 AND i < n AND i++
   ASSIGN j AS i AND k AS 0
   LOOP FOR j = I AND j >= 0 AND j--
      ASSIGN mat[k][j] AS d
      INCREMENT d AND k BY 1
   END LOOP
END LOOP
STEP 3: LOOP FOR k = 1 AND k < n AND k++
   ASSIGN i AND m EQUALS TO k
   LOOP FOR j = n-1 AND j >= m AND j--
      ASSIGN mat[i][j] AS d;
      INCREMENT d AND i WITH 1
   END FOR
END FOR
STEP 4: LOOP FOR i = 0 AND i < n AND i++
   LOOP FOR j = 0 AND j < n AND j++
      PRINT mat[i][j]
   END FOR
   PRINT NEWLINE
END FOR
STOP

उदाहरण

#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. सी . में नंबर कॉलम वार प्रिंट करने का कार्यक्रम

    कार्यक्रम विवरण नीचे दिखाए गए अनुसार प्राकृतिक संख्या कॉलम के अनुसार प्रिंट करें 1 2 6 3 7 10 4 8 11 13 5 9 12 14 15 एल्गोरिदम i stands for rows and j stands for columns. 5 stands for making pattern for 5 Rows and Columns Loop for each Row (i) K is initialized to i Loop for each Column (j) Do the P

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

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

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

    n x n के मैट्रिक्स के साथ दिए गए कार्य n x n के उस मैट्रिक्स को निचले त्रिकोणीय पैटर्न में प्रिंट करना है। निचला त्रिकोणीय मैट्रिक्स एक मैट्रिक्स है जिसमें सिद्धांत विकर्ण के नीचे के तत्व होते हैं जिसमें सिद्धांत विकर्ण तत्व और शेष तत्व शून्य होते हैं। आइए इसे एक डायग्राम की मदद से समझते हैं -