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

C++ में मैट्रिक्स में प्लस '+' पैटर्न में प्रिंटिंग स्ट्रिंग

एक स्ट्रिंग स्ट्र को देखते हुए, हमें मैट्रिक्स में दिए गए स्ट्रिंग स्ट्र को '+' पैटर्न में प्रिंट करना होगा। मैट्रिक्स में प्लस पैटर्न बनाने के लिए मैट्रिक्स एक वर्ग मैट्रिक्स होना चाहिए। एक वर्ग मैट्रिक्स वह मैट्रिक्स है जिसमें पंक्तियों और स्तंभों की संख्या समान होती है।

जैसे हमारे पास एक स्ट्रिंग "ट्यूटर" है, हमारा काम स्ट्रिंग को क्षैतिज और लंबवत रूप से केंद्र से एक-दूसरे को काटते हुए प्रिंट करना है, और मैट्रिक्स के बाकी तत्वों को दिए गए आंकड़े की तरह "x" के रूप में बनाना है -

C++ में मैट्रिक्स में प्लस  +  पैटर्न में प्रिंटिंग स्ट्रिंग

इनपुट

str[] = {“Point”}

आउटपुट

C++ में मैट्रिक्स में प्लस  +  पैटर्न में प्रिंटिंग स्ट्रिंग

इनपुट

str[] = {“this”}

आउटपुट

Pattern not possible

समस्या को हल करने के लिए नीचे उपयोग किया गया दृष्टिकोण इस प्रकार है

  • इनपुट प्राप्त करें।

  • जांचें कि क्या इनपुट एक समान लंबाई नहीं है।

  • प्रारंभ में पूरे मैट्रिक्स को "x" के साथ सेट करें

  • स्ट्रिंग को मध्य पंक्ति और मध्य कॉलम में सेट करें

  • परिणामी मैट्रिक्स प्रिंट करें।

एल्गोरिदम

Start
In function int stringcross(char str[], int n)
   Step 1→ If n % 2 == 0 then,
      Step 2→ Printf "Pattern not possible”
   Step 3→ Else
      Declare a str2[max][max]
      Declare m and set as n / 2
      For i = 0 and i < n and i++
         For j = 0 and j < n and j++
            Set str2[i][j] as 'x'
      For i = 0 and i < n and i++
         Set str2[i][m] as str[i]
      For i = 0 and i < n and i++
         Set str2[m][i] as str[i]
      For i = 0 and i < n and i++
         For j = 0 and j < n and j++
         Print str2[i][j]
      Print newline
In Function int main()
   Step 1→ Declare and Initialize str[] as "TUTOR"
   Step 2→ Declare and Initialize n with the size of the string
   Step 3→ Call stringcross(str, n-1)
Stop

उदाहरण

#include <stdio.h>
#define max 100
int stringcross(char str[], int n){
   if (n % 2 == 0){
      //odd length string is only possible
      printf("Pattern not possible\n");
   }
   else {
      //decalaring a 2-d character array
      char str2[max][max];
      int m = n / 2;
      //Initially setting x for all elements
      for (int i = 0; i < n; i++) {
         for (int j = 0; j < n; j++) {
            str2[i][j] = 'x';
         }
      }
      //Placing the string in a manner
      //a cross is formed.
      for (int i = 0; i < n; i++){
         //for middle columns
         str2[i][m] = str[i];
      }
      for (int i = 0; i < n; i++){
         //for middle row
         str2[m][i] = str[i];
      }
      //printing
      for (int i = 0; i < n; i++) {
         for (int j = 0; j < n; j++) {
            printf("%c ",str2[i][j]);
         }
         printf("\n");
      }
   }
   return 0;
}
int main(){
   char str[] = {"TUTOR"};
   int n = sizeof(str)/sizeof(str[0]);
   stringcross(str, n-1);
   return 0;
}

आउटपुट

यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -



  1. C++ . में भूलभुलैया III

    मान लीजिए कि खाली जगह और दीवारों के साथ एक भूलभुलैया है और उस भूलभुलैया में एक गेंद भी है। गेंद ऊपर (यू), नीचे (डी), बाएं (एल) या दाएं (आर) दिशाओं को लुढ़क कर खाली जगहों से जा सकती है, लेकिन यह दीवार से टकराने तक लुढ़कती रहती है। जब गेंद रुकती है, तो वह अगली दिशा चुन सकती है। उस भूलभुलैया में एक छेद

  1. सी ++ में मैट्रिक्स में अधिकतम तत्व खोजने का कार्यक्रम

    इस समस्या में, हमें nXm आकार का एक मैट्रिक्स दिया गया है। हमारा काम सी++ में मैट्रिक्स में अधिकतम तत्व खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहां, हमें केवल मैट्रिक्स का सबसे बड़ा तत्व खोजने की जरूरत है। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट mat[3][3] = {{4, 1, 6}, {5,

  1. सी++ में सर्पिल मैट्रिक्स III

    मान लीजिए कि हमारे पास आर पंक्तियों और सी कॉलम के साथ एक 2 आयामी ग्रिड है, हम पूर्व की ओर (r0, c0) से शुरू करते हैं। यहां, ग्रिड का उत्तर-पश्चिम कोना पहली पंक्ति और स्तंभ पर है, और ग्रिड का दक्षिण-पूर्व कोना अंतिम पंक्ति और स्तंभ पर है। हम इस ग्रिड में हर स्थिति का दौरा करने के लिए एक दक्षिणावर्त सर