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

C++ में 2d मैट्रिक्स में संकेंद्रित आयताकार पैटर्न प्रिंट करें


इस समस्या में, हमें एक आयताकार पैटर्न को 2D मैट्रिक्स में प्रिंट करना होता है इस तरह से कि वे एक-दूसरे के प्रति केंद्रित हों।

आइए इस समस्या को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं,

For n=4 is :
   4 4 4 4 4 4 4
   4 3 3 3 3 3 4
   4 3 2 2 2 3 4
   4 3 2 1 2 3 4
   4 3 2 2 2 3 4
   4 3 3 3 3 3 4
   4 4 4 4 4 4 4

यहां, हमें n, पूर्णांक मान और संकेंद्रित आयतों को -

के रूप में लेते हुए ऊपर दिए गए पैटर्न को प्रिंट करना होगा
n  n   n   n  n
n n-1 n-1 n-1 n
n n-1 n-2 n-1 n
n n-1 n-1 n-1 n
n  n   n   n  n

अब, इस समस्या में, जैसा कि हम देख सकते हैं (2n-1) . हैं कुल मिलाकर 2D मैट्रिक्स में कॉलम और पंक्तियाँ। यह 2D मैट्रिक्स दो भागों में मुद्रित होता है। ऊपर वाला 0 से (2n-1)/2 . तक होगा और निचला आधा ((2n-1)/2+1) से 2n-2 . तक होगा ।

अब, जब तक संख्या पंक्तियों की संख्या तक नहीं पहुंच जाती, यानी 1 से i (पंक्तियों की संख्या)। फिर यह संख्या को वापस n तक बढ़ा देता है।

उदाहरण

इस तर्क का उपयोग करके समस्या को हल करने के लिए एक प्रोग्राम बनाने देता है,

#include <bits/stdc++.h>
using namespace std;
void print2Dsequence(int n){
   int s = 2 * n - 1;
   for (int i = 0; i < (s / 2) + 1; i++) {
      int m = n;
      for (int j = 0; j < i; j++) {
         cout << m << " ";
         m--;
      }
      for (int k = 0; k < s - 2 * i; k++) {
         cout << n - i << " ";
      }
      m = n - i + 1;
      for (int l = 0; l < i; l++) {
         cout << m << " ";
         m++;
      }
      cout << endl;
   }
   for (int i = s / 2 - 1; i >= 0; i--) {
      int m = n;
      for (int j = 0; j < i; j++) {
         cout << m << " ";
         m--;
      }
      for (int k = 0; k < s - 2 * i; k++) {
         cout << n - i << " ";
      }
      m = n - i + 1;
      for (int l = 0; l < i; l++) {
         cout << m << " ";
         m++;
      }
      cout << endl;
   }
}
int main(){
   int n = 4;
   cout<<"The sequence of concurrent rectangle of 4 is : \n";
   print2Dsequence(n);
   return 0;
}

आउटपुट

4 के समवर्ती आयत का क्रम है -

4 4 4 4 4 4 4
4 3 3 3 3 3 4
4 3 2 2 2 3 4
4 3 2 1 2 3 4
4 3 2 2 2 3 4
4 3 3 3 3 3 4
4 4 4 4 4 4 4

  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 3 है तो विकर्ण पैटर्न में एक मैट्रिक्स को प्रिंट करना है - तो आउटपुट इस तरह होगा - उदाहरण Input: 3 Output:    1 2 4    3 5 7    6 8 9 Input: 4 Output:    1 2 4  7    3 5

  1. दिए गए मैट्रिक्स को C++ में वामावर्त सर्पिल रूप में प्रिंट करें

    इस समस्या में, हमें एक 2-आयामी मैट्रिक्स दिया गया है। और हमारा काम मैट्रिक्स के तत्वों को वामावर्त सर्पिल में से प्रिंट करना है। वामावर्त सर्पिल रूप - यह एक सर्पिल ट्रैवर्सल है जो ऊपर-बाएं से शुरू होता है और वामावर्त दिशा में पहले नीचे-दाएं-ऊपर-बाएं जाता है। वामावर्त ट्रैवर्सल 1 5 9 13 14 15 16