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

C++ में एक मैट्रिक्स में सिंगल मूवमेंट खोजें

इस समस्या में, हमें चार मान x1, y1, x2, y2 दिए गए हैं जो दो बिंदुओं (x1, y1) और (x2, y2) को दर्शाते हैं। हमारा काम मैट्रिक्स में सिंगल मूवमेंट ढूंढना है। हमें उस दिशा को खोजने की आवश्यकता है जिसके उपयोग से हम एक बिंदु (x1, y1) से (x2, y2) तक जा सकते हैं। एकल होने के लिए आवश्यक दिशा के अनुसार कितनी भी चालें हो सकती हैं और हमें दिशा को "बाएं", "दाएं", "ऊपर", "नीचे" के रूप में वापस करने की आवश्यकता है। अन्यथा वापसी -1, "संभव नहीं" को दर्शाता है।

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

इनपुट

x1 = 2, y1 = 1, x2 = 5, y1 = 1

आउटपुट

Right

समाधान दृष्टिकोण

समस्या का एक सरल समाधान इस तथ्य का उपयोग कर रहा है कि स्रोत से गंतव्य तक पहुंचने के लिए, दोनों में से कोई एक निर्देशांक x1:x2 या y1:y2 समान होना चाहिए। मानों के लिए, ये मामले हैं -

Case 1: x1 = x2 & y1 > y2 -> Direction : Left
Case 1: x1 = x2 & y2 > y1 -> Direction : Right
Case 1: y1 = y2 & x1 > x2 -> Direction : Up
Case 1: y1 = y2 & x2 > x1 -> Direction : Down

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
void findSingleMovement(int x1, int y1, int x2, int y2) {
   if (x1 == x2 && y1 < y2)
      cout<<"Right";
   else if (x1 == x2 && y1 > y2)
      cout<<"Left";
   else if (y1 == y2 && x1 < x2)
      cout<<"Down";
   else if (y1 == y2 && x1 > x2)
      cout<<"Up";
   else
      cout<<"Not Possible";
}
int main() {
   int x1, x2, y1, y2;
   x1 = 2; y1 = 1;
   x2 = 5; y2 = 1;
   cout<<"The direction of movement is ";
   findSingleMovement(x1, y1, x2, y2);
   return 0;
}

आउटपुट

The direction of movement is Down

  1. C++ में सिंगल वैल्यूड सबट्री की संख्या ज्ञात करें

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमारा कार्य दिए गए पेड़ में एकल मूल्यवान उपप्रकारों को गिनना है। एक एकल मूल्यवान सबट्री एक सबट्री है, जहां उस पेड़ के सभी नोड्स में समान मान होता है। मान लीजिए एक पेड़ नीचे जैसा है - चार सिंगल वैल्यू सबट्री हैं। ये नीचे की तरह हैं - हम इसे बॉटम अप तरीक

  1. C++ प्रोग्राम एक ग्राफ मैट्रिक्स के स्थानान्तरण का पता लगाने के लिए

    इस कार्यक्रम में हम एक मैट्रिक्स लेते हैं और मैट्रिक्स के स्थानान्तरण को प्रिंट करते हैं। ट्रांसपोज़ मैट्रिक्स में, पंक्तियाँ कॉलम बन जाती हैं और इसके विपरीत। एल्गोरिदम Begin Take number of rows and columns of the matrix. Take The elements of the matrix and stored in the matrix ‘A’

  1. C++ प्रोग्राम एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए

    मैट्रिक्स संख्याओं का एक आयताकार सरणी है जिसे पंक्तियों और स्तंभों के रूप में व्यवस्थित किया जाता है। मैट्रिक्स का ट्रांसपोज़ एक नया मैट्रिक्स है जिसमें मूल की पंक्तियाँ अब कॉलम हैं और इसके विपरीत। उदाहरण के लिए। नीचे एक मैट्रिक्स दिया गया है - 1 2 3 4 5 6 7 8 9 उपरोक्त मैट्रिक्स का स्थानान्तरण इस