কম্পিউটার

C++ এ অ্যারে থেকে চারটি দিক বাছাই করে সর্বাধিক ক্ষেত্রফল আয়তক্ষেত্র


আয়তক্ষেত্রের ক্ষেত্রফল তার বাহুর গুণফল হিসাবে গণনা করা হয়। সমস্ত আয়তক্ষেত্রের চারটি বাহু থাকে যাতে বিপরীত বাহুগুলি সমান। ক্ষেত্রফল নির্ণয়ের জন্য আমাদের দৈর্ঘ্য এবং প্রস্থের দুটি বাহুর প্রয়োজন। যাতে আমরা কাঙ্খিত ফলাফল পেতে পারি -

ক্ষেত্রফল আয়তক্ষেত্র =দৈর্ঘ্য X প্রস্থ

আমাদের এমন একটি অ্যারে দেওয়া হয়েছে যাতে এটি একটি আয়তক্ষেত্রের বাহু নিয়ে গঠিত। অ্যারেতে এলোমেলো ক্রমে চারটি দিকের মান রয়েছে। এখানে কাজটি হল আয়তক্ষেত্রের জন্য সম্ভাব্য সর্বাধিক ক্ষেত্রফল পেতে অ্যারে থেকে দুটি সর্বোচ্চ জোড়া বাহু খুঁজে বের করা।

ইনপুট

Arr[] ={ 1,2,1,3,4,4,2,3,5,7 }৷

আউটপুট − − 12

অ্যারে থেকে চারটি দিক বাছাই করে সর্বাধিক ক্ষেত্রফল আয়তক্ষেত্র

ব্যাখ্যা − যদি আমরা প্রদত্ত অ্যারেটিকে অবরোহ ক্রমে সাজাই, তাহলে আমরা পাই,

Arr[]={ 7,5,4,4,3,3,2,1,1 }

দুই জোড়া বাহুর (মোট চারটি বাহু) যেগুলি এখানে সর্বাধিক { (4,4), (3,3) }। তাই কাঙ্খিত সর্বাধিক সম্ভাব্য এলাকা হল 12 বর্গ ইউনিট।

ইনপুট

Arr[] ={ 8,2,5,3,4,9,8,3,5,7 }।

আউটপুট − −40

অ্যারে থেকে চারটি দিক বাছাই করে সর্বাধিক ক্ষেত্রফল আয়তক্ষেত্র

ব্যাখ্যা − যদি আমরা প্রদত্ত অ্যারেটিকে অবরোহ ক্রমে সাজাই, তাহলে আমরা পাই,

Arr[]={ 9,8,8,7,5,5,4,3,3,2 }

দুই জোড়া বাহুর (মোট চারটি বাহু) যেগুলি এখানে সর্বোচ্চ হল { (8,8),(5,5) }। তাই কাঙ্খিত সর্বোচ্চ এলাকা হল 40 বর্গ ইউনিট।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • পূর্ণসংখ্যার একটি অ্যারে ঘোষণা করুন যাতে আয়তক্ষেত্রের বাহুর জোড়া রয়েছে।( Arr[] )

  • অ্যারের আকার সংরক্ষণ করার জন্য একটি ভেরিয়েবল তৈরি করুন। (n)

  • আয়তক্ষেত্রের সর্বোচ্চ ক্ষেত্রফল নির্ণয় করতে ফাংশন maxArea(int arr[],int n) ব্যবহার করা হয়। এটি আর্গুমেন্ট হিসাবে একটি ইনপুট অ্যারে এবং এর আকার নেয়৷

  • maxArea() এর ভিতরে আমরা একটি অ্যারে ডিম [2] ঘোষণা করেছি বাছাই করা অ্যারে অতিক্রম করার পরে পাওয়া দুটি দোকানের সর্বোচ্চ দুটি দিক (অবতরণ ক্রমে) arr[]।

  • যেমন arr[] অবরোহ ক্রমে সাজানো হয়, শুরুতে সর্বোচ্চ ৪টি দিক হতে হবে। আমরা পুনরাবৃত্ত করি arr[] যাতে একটি জোড়া বাহু পাওয়া যায়।

  • প্রথমে 0 দিয়ে Dim[] শুরু করুন।

  • while লুপের ভিতরে আমরা শর্ত রাখি যে এটি j<2 পর্যন্ত চলতে থাকে যাতে dim[0] এবং dim[1] বা arr[]-এর শেষ পর্যন্ত কোনো মান পাওয়া যায় না। (i

  • যদি এই ধরনের এক জোড়া বাহু পাওয়া যায়, ( if(arr[i]==arr[i+1]) ), তাহলে এটিকে dim[j] এ সংরক্ষণ করুন এবং পরবর্তী পাশের জন্য j বৃদ্ধি করুন।

  • ম্লান[0] এবং ম্লান[1] এর গুণফল হিসাবে ফলাফলটি ফেরত দিন।

  • দ্রষ্টব্য − sort(arr,n) নামক ক্রমে arr সাজানোর কথা।

উদাহরণ

আয়তক্ষেত্রাকার maxArea(int arr[], int n){ int dim[2]={0}; int i=0, j=0; যখন( j<2 &&i

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
অ্যারে থেকে চারটি দিক বাছাই করে আয়তক্ষেত্রের সর্বাধিক ক্ষেত্রফল:40

  1. C++ এ আয়তক্ষেত্র ক্ষেত্র II

  2. C++ এ প্রদত্ত পরিধি সহ আয়তক্ষেত্রের সর্বাধিক ক্ষেত্রফল

  3. C++ এ আয়তক্ষেত্র এলাকা

  4. C++ এ প্রদত্ত পরিধি এবং ক্ষেত্রফল থেকে একটি কিউবয়েডের সর্বাধিক আয়তন খুঁজুন