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

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


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

आइए एक उदाहरण से इस समस्या को समझते हैं,

इनपुट

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

आउटपुट

दाएं

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

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

केस 1: x1 = x2 और y1 > y2 -> दिशा: बाएं केस 2: x1 = x2 और y2 > y1 -> दिशा: दाएं केस 3: y1 = y2 और x1 > x2 -> दिशा: ऊपर केस 4: y1 = y2 और x2 > x1 -> दिशा: नीचे

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

उदाहरण

#include <iostream> using namespace std; void findSingleMovement(int x1, int y1, int x2, int y2) {    if (x1 == x2 && y1 < y2)       cout<<"दाएं";    else if (x1 == x2 && y1 > y2)       cout<<"बाएं";    else if (y1 == y2 && x1 < x2)       cout<<"नीचे";    else if (y1 == y2 && x1 > x2)       cout<<"ऊपर";    else       cout<<"संभव नहीं"; } 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++ में एकल-मान वाले सबट्री की गिनती ढूंढना C++ में एकल-मान वाले सबट्री की गिनती ढूंढना

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

  1. - C++ प्रोग्राम: ग्राफ मैट्रिक्स का ट्रांसपोज़ ज्ञात करना

    इस प्रोग्राम में हम एक मैट्रिक्स लेते हैं और मैट्रिक्स का ट्रांसपोज़ प्रिंट करते हैं। ट्रांसपोज़ मैट्रिक्स में, पंक्तियां स्तंभ बन जाती हैं और इसके विपरीत। एल्गोरिदम शुरुआत मैट्रिक्स की पंक्तियों और स्तंभों की संख्या लें। मैट्रिक्स के तत्व लें और मैट्रिक्स A में संग्रहीत करें। ट्रांसपोज़ मैट्रिक्स

  1. - C++ में मैट्रिक्स का ट्रांसपोज़ खोजने का प्रोग्राम

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