কম্পিউটার

C++ এ একটি অ্যারের ঘূর্ণনে প্রতিটি উপাদানকে সংযুক্ত করে সর্বাধিক সংখ্যা


আমরা সংখ্যার একটি বৃত্তাকার অ্যারে দেওয়া হয়. একটি বৃত্তাকার অ্যারে হল এমন একটি যেটিতে উপাদানগুলি এমনভাবে সাজানো হয় যাতে প্রথম উপাদানটিকে শেষ উপাদানের ঠিক পাশের হিসাবে বিবেচনা করা হয়। এগুলি সারি প্রয়োগ করতে ব্যবহৃত হয়৷

প্রতিটি উপাদান একই বা ভিন্ন সংখ্যা গণনা আছে. প্রয়োজনে উপাদানগুলির ঘূর্ণন ব্যবহার করে সংখ্যাগুলিকে একত্রিত করে সম্ভাব্য সর্বোচ্চ সংখ্যা তৈরি করাই লক্ষ্য। আমরা সব উপাদানের সব বামতম অঙ্কের মধ্যে সর্বোচ্চ বামতম অঙ্কটি খুঁজে বের করে এটি করব। সর্বোচ্চ বাম অঙ্কের সংখ্যাটি প্রথম স্থানে থাকবে৷

  • যদি এটি প্রথম অবস্থানে থাকে, তাহলে সূচী 1 থেকে n-1-এ সমস্ত সংখ্যা যেমন আছে তেমনি স্থাপন করা হবে।

  • যদি এটি মাঝখানে কোথাও থাকে এবং এটির সূচক i হয়, তাহলে i+1 থেকে n-1 সূচীতে প্রথমে যুক্ত করা হয় এবং তারপরে 0 থেকে i-1 সূচীতে থাকে।

  • যদি এটি শেষ হয়, তাহলে 0 থেকে i-1 সূচীতে সবগুলিই এর পরে যুক্ত করা হয়৷

ইনপুট

Arr[] = { 121, 43, 65, 32 }

আউটপুট

Highest number: 653212143

ব্যাখ্যা − সর্বোচ্চ বাঁদিকের সংখ্যা হল 6। প্রথম অবস্থানে 65 রাখুন তারপর 32, তারপর 121,43 রাখুন। যেহেতু Arr[] একটি বৃত্তাকার অ্যারে।

ইনপুট

Arr[] = { 1101, 9, 321, 77 }

আউটপুট

Highest number: 9321771101

ব্যাখ্যা − সর্বোচ্চ বাঁদিকের সংখ্যা হল 9321771101। প্রথম অবস্থানে 9 রাখুন তারপর 321, তারপর 77, 1101 দিন। Arr[] হল একটি বৃত্তাকার অ্যারে।

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

  • অ্যারে arr[] সংখ্যা সংরক্ষণ করে।

  • ফাংশন Largets(int arr[],int n) অ্যারে এবং এর দৈর্ঘ্য n ইনপুট হিসাবে নেয় এবং সর্বোচ্চ সংখ্যা প্রিন্ট করে যা তৈরি করা যেতে পারে..

  • ভেরিয়েবল maxx ব্যবহার করা হয় সংখ্যাটিকে সর্বোচ্চ বাম সংখ্যা সহ, 0 দিয়ে শুরু করা হয়।

  • ম্যাক্সের সূচক সংরক্ষণ করতে Pos ব্যবহার করা হয়।

  • i=0 থেকে n থেকে শুরু করে প্রতিটি arr[i] এর বামতম অঙ্কটি 10 ​​দ্বারা ভাগ করে এটি 0 না হওয়া পর্যন্ত সন্ধান করুন। প্রতিবার অবশিষ্টাংশটি ইউনিটের স্থানে অঙ্কটি উপস্থাপন করবে।

  • যদি বর্তমান এই ধরনের সংখ্যা সর্বোচ্চ হয়, যখন num==0, (অর্থাৎ rem-এর বামতম অঙ্ক আছে), updatemaxx এবং pos।

  • ইনডেক্স পোস থেকে অ্যারের শেষ পর্যন্ত উপাদানগুলি প্রিন্ট করুন এবং তারপরে আবার ইনডেক্স 0 থেকে pos-1 পর্যন্ত।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void Largest(int arr[], int n){
   int maxx = 0;
   int pos = 0; //index of number with highest leftmost digit
   for (int i = 0; i < n; i++) {
      int num = arr[i];
      // check for the last digit
      while (num!=0) {
         int rem = num % 10;
         num = num / 10;
         if (num == 0) {
            if (maxx < rem) {
               maxx = rem;
               pos = i;
            }
         }
      }
   }
   // print the largest number
   cout<<"Largest number by concatenation: ";
   for (int i = pos; i < n; i++)
      cout << arr[i];
   for (int i = 0; i < pos; i++)
      cout << arr[i];
}
int main(){
   int Arr[] = { 12,34,56,98 };
   int size=4;
   Largest(Arr,size);
   return 0;
}

আউটপুট

Largest number by concatenation: 98123456

  1. C++ এ অ্যারের প্রতিটি উপাদানের জন্য নিকটতম ছোট মান খুঁজুন

  2. একটি অ্যারেতে মৌলিক সংখ্যা K খুঁজুন যেমন (A[i] % K) C++-এ সর্বাধিক

  3. C++ এ অ্যারের প্রতিটি উপাদানের জন্য নিকটতম মান খুঁজুন

  4. C++-এ অ্যারের প্রতিটি উপাদানের জন্য নিকটতম বৃহত্তর মান খুঁজুন