কম্পিউটার

C++-এ ম্যাট্রিক্সের চূড়ান্ত কোষের অবস্থান


ধরুন আমাদের একটি স্ট্রিং হিসাবে কমান্ডের একটি সেট আছে, স্ট্রিংটিতে চারটি দিকনির্দেশের জন্য চারটি ভিন্ন অক্ষর থাকবে। উপরের জন্য U, নিচের জন্য D, বামের জন্য L এবং ডানের জন্য R। আমাদের প্রাথমিক কোষের অবস্থানও রয়েছে (x, y)। প্রদত্ত কমান্ডগুলি অনুসরণ করার পরে ম্যাট্রিক্সে বস্তুর চূড়ান্ত ঘরের অবস্থান খুঁজুন। আমরা ধরে নেব যে চূড়ান্ত কোষের অবস্থান ম্যাট্রিক্সে উপস্থিত। ধরুন কমান্ড স্ট্রিংটি "DDLRULL" এর মতো, প্রাথমিক অবস্থান হল (3, 4)। চূড়ান্ত অবস্থান হল (1, 5)।

পদ্ধতিটি সহজ, উপরে, নিচে, বাম এবং ডান আন্দোলনের সংখ্যা গণনা করুন, তারপর সূত্রটি ব্যবহার করে চূড়ান্ত অবস্থান (x’, y’) খুঁজুন −

(x’, y’) = (x + count_right – count_left,y + (count_down – count_up))


উদাহরণ

#include<iostream>
using namespace std;
void getFinalPoint(string command, int x, int y) {
   int n = command.length();
   int count_up, count_down, count_left, count_right;
   int x_final, y_final;
   count_up = count_down = count_left = count_right = 0;
   for (int i = 0; i < n; i++) {
      if (command[i] == 'U')
         count_up++;
      else if (command[i] == 'D')
         count_down++;
      else if (command[i] == 'L')
         count_left++;
      else if (command[i] == 'R')
         count_right++;
   }
   x_final = x + (count_right - count_left);
   y_final = y + (count_down - count_up);  
   cout << "Final Position: " << "(" << x_final << ", " << y_final << ")";
}
int main() {
   string command = "DDLRULL";
   int x = 3, y = 4;
   getFinalPoint(command, x, y);
}

আউটপুট

Final Position: (1, 5)

  1. রোবট দ্বারা চূড়ান্ত অবস্থানে পৌঁছানোর ধাপগুলি গণনা করার জন্য C++ কোড

  2. কিভাবে C++ ব্যবহার করে OpenCV-তে মুখের অবস্থান ট্র্যাক করবেন?

  3. C++ এ গোলকধাঁধা II

  4. C++ এ গোলকধাঁধা