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

C++ में दिए गए आंदोलनों के बाद रोबोट की स्थिति


इस समस्या में, हमें एक ऐसा रोबोट दिया जाता है जो चारों दिशाओं में चलता है लेकिन केवल एक ही चलता है। दिशाएँ ऊपर ('U'), नीचे ('D'), बाएँ ('L'), दाएँ ('R') हैं। और हमें एक स्ट्रिंग दी जाती है जिसमें संख्या की दिशाओं के आद्याक्षर होते हैं। हमारा काम रोबोट की अंतिम स्थिति को प्रिंट करना है, यह देखते हुए कि रोबोट की प्रारंभिक स्थिति (0,0) है।

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

इनपुट - इनपुट:'एलडीआरआरयूएल'

आउटपुट - (0, 0)

स्पष्टीकरण -

L (left) : (0,0) -> (-1,0)
D (down) : (-1,0) -> (-1, -1)
R (right) : (-1, -1) -> (0, -1)
R (right) : (0, -1) -> (1, -1)
U(up) : (1, -1) -> (1, 0)
L(left) : (1, 0) -> (0, 0)

इस समस्या को हल करने के लिए, हम x-अक्ष और y-अक्ष दिशा में कुल चालों की गणना करेंगे। x-निर्देशांक के लिए, दाएँ चाल के लिए गिनती बढ़ाएँ और बाएँ चाल के लिए गिनती घटाएँ। y-निर्देशांक के लिए, ऊपर की ओर जाने की संख्या और बाईं ओर की चाल के लिए नीचे की संख्या में वृद्धि करें।

उदाहरण

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम

#include <iostream>
#include <string.h>
using namespace std;
void robotMoved(string move) {
   int xAxis, yAxis;
   int l=move.size();
   for (int i = 0; i < l; i++) {
      if (move[i]=='U')
         yAxis++;
      else if (move[i]=='D')
         yAxis--;
      else if (move[i]=='L')
         xAxis--;
      else if (move[i]=='R')
         xAxis++;
   }
   cout<<"Final Position of the robot is : ("<<xAxis<<", "<<yAxis<<")"<<endl;
}
int main() {
   string move="URLLDDRRUDUDDRU";
   robotMoved(move);
   return 0;
}

आउटपुट

Final Position of the robot is : (32744, -274873553)

  1. रोबोट द्वारा अंतिम स्थिति तक पहुंचने के लिए चरणों की गणना करने के लिए C++ कोड

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

  1. C++ में T सेकंड के बाद मेंढक की स्थिति

    मान लीजिए कि हमारे पास एक अप्रत्यक्ष वृक्ष है जिसमें n शीर्ष हैं। शीर्षों की संख्या 1 से n तक है। अब एक मेंढक शीर्ष 1 से कूदना शुरू करता है। मेंढक एक सेकंड में अपने वर्तमान शीर्ष से दूसरे गैर-विजिट किए गए शीर्ष पर कूद सकता है यदि वे आसन्न हैं। मेंढक वापस देखे गए शीर्ष पर नहीं जा सकता। यदि मेंढक कई श

  1. सी ++ में सबस्ट्रिंग

    एक सबस्ट्रिंग एक स्ट्रिंग का एक भाग है। सी ++ में सबस्ट्रिंग प्राप्त करने के लिए एक फ़ंक्शन सबस्ट्र () है। इस फ़ंक्शन में दो पैरामीटर हैं:पॉज़ और लेन। पॉज़ पैरामीटर सबस्ट्रिंग की प्रारंभ स्थिति को निर्दिष्ट करता है और लेन एक सबस्ट्रिंग में वर्णों की संख्या को दर्शाता है। एक प्रोग्राम जो C++ में सबस