কম্পিউটার টিউটোরিয়াল

নিয়মিত N-বহুভুজের ওপর তৃতীয় ব্যক্তির অবস্থান নির্ধারণ C++ প্রোগ্রামে


এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি নিয়মিত N-বহুভুজের ওপর তৃতীয় ব্যক্তির অবস্থান বের করা যায়।

একটি নিয়মিত N-বহুভুজ দেওয়া আছে। এবং সেখানে ইতিমধ্যে দুজন ব্যক্তি দুটি ভিন্ন পয়েন্টে দাঁড়িয়ে আছে। আমাদের কাজ হলো তৃতীয় পয়েন্ট বের করা যাতে প্রথম দুজন ব্যক্তি এবং তৃতীয় ব্যক্তির মধ্যে দূরত্ব ন্যূনতম হয়।

সমস্যা সমাধানের ধাপগুলো:

  • N এবং দুটি পয়েন্ট A এবং B ইনিশিয়ালাইজ করুন।

  • তৃতীয় ব্যক্তির পজিশন এবং মিনিমাম সম খুঁজে বের করার জন্য ভেরিয়েবল ইনিশিয়ালাইজ করুন।

  • ১ থেকে N পর্যন্ত ইটারেট করুন।

    • যদি বর্তমান পজিশন A বা B হয়, তবে স্কিপ করুন।

    • বর্তমান পজিশন এবং A, B-এর মধ্যে निरপেক্ষ পার্থক্যের যোগফল বের করুন।

    • এটিকে মিনিমাম সমের সাথে তুলনা করুন।

    • যদি বর্তমান সম মিনিমাম সমের চেয়ে কম হয়, তবে পজিশন এবং মিনিমাম সম আপডেট করুন।

  • তৃতীয় ব্যক্তির পজিশন প্রিন্ট করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#include <bits/stdc++.h> using namespace std; int findThirdPersonStandingVertex(int N, int A, int B) {    int position = 0;    int minimum_sum = INT_MAX, sum;    for (int i = 1; i <= N; i++) {       // skipping the predefined vertices       if (i == A || i == B) {          continue;       }       else {          // length between the current vertext to A and B          sum = abs(i - A) + abs(i - B);          // checking whether the current sum is less than previous sum          if (sum < minimum_sum) {             // updating the minimum sum and position of vertext             minimum_sum = sum;             position = i;          }       }    }    return position; } int main() {    int N = 7, A = 5, B = 7;    cout << "Vertex: " << findThirdPersonStandingVertex(N, A, B) << endl;    return 0; }

আউটপুট

উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:

Vertex: 6

উপসংহার

টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।


  1. বাইনারি ট্রির গভীরতম নোডগুলোর যোগফল বের করা C++-এ

  2. বাইনারি ট্রির ডান পাশের লিফ নোডগুলোর যোগফল বের করা C++-এ

  3. রেঞ্জ সম কুয়েরি বিনা আপডেট (C++)

  4. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা