কম্পিউটার

C++ এ অ্যারের মান থেকে একটি ত্রিভুজ গঠন করা সম্ভব


এই সমস্যায়, আমাদেরকে পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। আমাদের কাজ হল অ্যারের উপাদানগুলিকে ত্রিভুজের বাহু হিসাবে গ্রহণ করে একটি অ-ক্ষয়প্রাপ্ত ত্রিভুজ তৈরি করা হয়েছে কিনা তা পরীক্ষা করা৷

নন-ডিজেনারেট ত্রিভুজ - এটি একটি ত্রিভুজ যার একটি ধনাত্মক ক্ষেত্র রয়েছে। a, b, c বাহুর সাথে একটি অ-ক্ষয়প্রাপ্ত ত্রিভুজের শর্ত হল −

a + b > c
a + c > b
b + c > a

সমস্যাটি আরও ভালোভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক -

ইনপুট − arr[2, 5,9, 4, 3]

আউটপুট - হ্যাঁ

ব্যাখ্যা − গঠিত ত্রিভুজটি হল 2 3 4।

এই সমস্যাটি সমাধান করার জন্য, আমরা পরীক্ষা করব যে উপরের শর্তটি অ্যারের মান দ্বারা সন্তুষ্ট।

একটি নেভি সমাধান অ্যারের প্রতিটি ট্রিপলেটের সরাসরি চেকিং জড়িত।

আরও কার্যকর সমাধানের মধ্যে অ্যারের উপাদানগুলিকে সাজানো এবং অ্যারের তিনটি পরপর তিনটি ট্রিপলেট পরীক্ষা করা জড়িত। বাছাই করা অ্যারের জন্য যদি দুটি উপাদানের যোগফল পরবর্তী একটি চেক মানগুলির চেয়ে বেশি না হয় তবে তার পরে যোগ্য নয় (সেগুলি ইতিমধ্যেই বড়)।

উদাহরণ

আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম

#include <bits/stdc++.h>
using namespace std;
bool isTrianglePossible(int arr[], int N){
   if (N < 3)
      return false;
   sort(arr, arr + N);
   for (int i = 0; i < N - 2; i++)
      if (arr[i] + arr[i + 1] > arr[i + 2])
         return true;
}
int main() {
   int arr[] = {5, 12, 13, 65, 6, 1};
   int N = sizeof(arr) / sizeof(int);
   cout<<"Creation of triangle from elements of array ";
   isTrianglePossible(arr, N)?cout<<"is Possible": cout<<"is not Possible";
   return 0;
}

আউটপুট

Creation of triangle from elements of array is Possible

  1. C++ এ x^1, x^2, ....., x^n থেকে প্রাপ্ত মানের সংখ্যার একটি ফ্রিকোয়েন্সি বিন্যাস তৈরি করুন

  2. C++ এ দুটি সম্ভাব্য মান থেকে একটি ভেরিয়েবলে অন্য মান বরাদ্দ করুন

  3. একটি C++ ফাংশন থেকে একাধিক মান ফেরত দেওয়া

  4. কিভাবে C++ এ একটি ফাংশন থেকে একটি অ্যারে ফেরত যায়?