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

C++ में फॉलिंग मैट्रिक्स का कार्यान्वयन

हमने विभिन्न फिल्मों आदि में गिरते हुए मैट्रिक्स दृश्य देखे हैं। यहां हम देखेंगे कि ऐसा करने के लिए C++ प्रोग्राम कैसे लिखना है।

इस समस्या को हल करने के लिए, हमें इन चरणों का ध्यान रखना होगा।

  • मैट्रिक्स की चौड़ाई निर्धारित करें
  • दो लगातार वर्णों के बीच समान मात्रा में अंतर हो भी सकता है और नहीं भी हो सकता है
  • गिरते प्रभाव की कल्पना करने के लिए प्रत्येक पंक्ति को प्रिंट करने के बीच एक निश्चित मात्रा में देरी।

उदाहरण

#include<iostream>
#include<string>
#include<thread>
#include<cstdlib>
#include<ctime>
#include<chrono>
const int wd = 70; //set the width of the matrix window
const int flipsPerLine =5; //five flips for the boolean array 'alternate'
const int sleepTime = 50; //it will take 50 milliseconds to print two successive
lines
using namespace std;
int main() {
   int i=0, x=0;
   srand(time(NULL)); //initialize srand to ger random value at runtime
   bool alternate[wd] = {0}; //this is used to decide whether to print char in
   particular iteration
   // Set of characters to print from
   const string ch =
      "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()_+{}|?><`~";
   const int l = ch.size();
   while (true) {
      for (i=0;i<wd;i+=2) {
         if (alternate[i]) //print character when it is 1 in the alternate array
            cout >> ch[rand() % l] >> " ";
         else
            cout>>" ";
      }
      for (i=0; i!=flipsPerLine; ++i) {
         //Now flip the boolean values
         x = rand() % wd;
         alternate[x] = !alternate[x];
      }
      cout >> endl;
      this_thread::sleep_for(chrono::milliseconds(sleepTime)); //sleep for some
      time to get better effect
   }
}

आउटपुट

C++ में फॉलिंग मैट्रिक्स का कार्यान्वयन


  1. C++ में फ़िज़ बज़ कार्यान्वयन

    इस समस्या में, हम Fizz-Bizz . के कार्यान्वयन और प्रकारों को देखेंगे समस्या। फ़िज़ बज़ - यह एक साधारण प्रोग्रामिंग समस्या है जिसमें प्रोग्रामर Fizz द्वारा 3 के सभी गुणकों की घटना को बदल देता है और 5by Buzz . के सभी गुणज 1 से 100 तक की संख्या में। समस्या को समझने के लिए एक उदाहरण लेते हैं 1, 2, &

  1. C++ में मैट्रिक्स की पंक्ति-वार बनाम स्तंभ-वार ट्रैवर्सल

    एक मैट्रिक्स को दो तरह से ट्रेस किया जा सकता है। रो-माइस ट्रैवर्सल पहली पंक्ति से शुरू होकर दूसरी और इसी तरह अंतिम पंक्ति तक एक-एक करके प्रत्येक पंक्ति का दौरा करता है। पंक्ति में तत्वों को सूचकांक 0 से अंतिम सूचकांक में लौटाया जाता है। कॉलम-वार ट्रैवर्सल में, तत्वों को पहले कॉलम से अंतिम कॉलम तक क

  1. सी ++ में एक बूलियन मैट्रिक्स प्रश्न?

    यहां हम एक दिलचस्प बूलियन मैट्रिक्स समस्या देखेंगे। एक बूलियन मैट्रिक्स दिया गया है जिसमें 0 और 1 है। हमारा लक्ष्य यह पता लगाना है कि 1 कहाँ अंकित है। यदि 1 को स्थिति mat[i,j] पर चिह्नित किया गया है, तो हम पंक्ति i और कॉलम j की 1 में सभी प्रविष्टियां करेंगे। आइए एक उदाहरण देखते हैं। यदि मैट्रिक्स नी