কম্পিউটার

C++ এ প্রদত্ত সংখ্যা পর্যন্ত অ্যারের উপাদানগুলিকে সর্বাধিক করুন


সমস্যা বিবৃতি

পূর্ণসংখ্যার একটি অ্যারে, একটি সংখ্যা এবং একটি সর্বাধিক মান দেওয়া, কাজটি হল অ্যারের উপাদানগুলি থেকে প্রাপ্ত সর্বাধিক মান গণনা করা। শুরু থেকে ট্র্যাভার্সিং অ্যারের প্রতিটি মান পূর্ববর্তী সূচক থেকে প্রাপ্ত ফলাফলের সাথে যোগ বা বিয়োগ করা যেতে পারে যেমন যে কোনও সময়ে ফলাফলটি 0-এর কম নয় এবং প্রদত্ত সর্বোচ্চ মানের চেয়ে বেশি নয়। সূচক 0 এর জন্য প্রদত্ত সংখ্যার সমান পূর্ববর্তী ফলাফল নিন। কোন সম্ভাব্য উত্তর প্রিন্ট-1.

ক্ষেত্রে

যদি arr[] ={3, 10, 6, 4, 5}, সংখ্যা =1 এবং সর্বোচ্চ মান =15 তাহলে আউটপুট হবে 9 যদি নিচের যোগ ও বিয়োগের ক্রম অনুসরণ করা হয় -

1 + 3 + 10 – 6 – 4 + 5

অ্যালগরিদম

এই সমস্যাটি সমাধান করার জন্য আমরা একটি পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করতে পারি

<পূর্ব>1. প্রতিটি সূচক অবস্থানে দুটি পছন্দ রয়েছে, হয় পূর্ববর্তী উপাদানগুলি থেকে প্রাপ্ত মান থেকে বর্তমান অ্যারে উপাদান যোগ করুন বা পূর্ববর্তী উপাদানগুলি থেকে এতদূর প্রাপ্ত মান থেকে বর্তমান অ্যারে উপাদান বিয়োগ করুন। সূচক 0 থেকে শুরু করুন, প্রদত্ত নম্বর থেকে arr[0] যোগ বা বিয়োগ করুন এবং আপডেট হওয়া নম্বর 3 সহ পরবর্তী সূচকের জন্য বারবার কল করুন। যখন সম্পূর্ণ অ্যারে অতিক্রম করা হয়, তখন পর্যন্ত প্রাপ্ত সংখ্যার সামগ্রিক সর্বোচ্চ মানের সাথে আপডেট হওয়া সংখ্যার তুলনা করুন

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;void getMaxValue(int *arr, int n, int num, int maxLimit, intidx, int&result){ if (idx ==n) { ফলাফল =সর্বোচ্চ( ফলাফল, সংখ্যা); প্রত্যাবর্তন } যদি (সংখ্যা - arr[idx]>=0) { getMaxValue(arr, n, num - arr[idx], maxLimit, idx + 1, ফলাফল); } যদি (num + arr[idx] <=maxLimit) { getMaxValue(arr, n, num + arr[idx], maxLimit, idx + 1, ফলাফল); }}int getMaxValue(int *arr, int n, int num, int maxLimit){ int ফলাফল =0; int idx =0; getMaxValue(arr, n, num, maxLimit, idx, ফলাফল); রিটার্ন ফলাফল;}int main(){int num =1; int arr[] ={3, 10, 6, 4, 5}; int n =sizeof(arr) / sizeof(arr[0]); int maxLimit =15; cout <<"সর্বোচ্চ মান =" < 

আউটপুট

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট-

তৈরি করে
সর্বোচ্চ মান =9

  1. C++ এ একটি প্রদত্ত 2D অ্যারেতে ন্যূনতম যোগফল সাবম্যাট্রিক্স

  2. C++ এ সংখ্যার বিন্যাসের গুণফলের প্রথম সংখ্যা

  3. C++ এ অ্যারের উপাদানগুলির ফ্রিকোয়েন্সি গণনা করা হচ্ছে

  4. C++ এ একটি অ্যারেতে সমস্ত মৌলিক সংখ্যার গুণফল