কম্পিউটার

C++ এ প্রদত্ত পরিসরে উপাদানের যোগফল সহ সম-অ্যারে তৈরি করুন


শুধুমাত্র পূর্ণসংখ্যা এবং একটি বিজোড় সংখ্যা সমষ্টি ধারণকারী একটি অ্যারে অ্যারে দেওয়া হয়েছে৷ লক্ষ্য হল একটি যোগফল অ্যারে তৈরি করা arr_2[ ] যেমন প্রতিটি arr_2[i] হল arr[] + arr[i] + পরবর্তী sum/2 উপাদানের arr[] এর আগের যোগফল/2 উপাদানের যোগফল। যোগফল 1 হলে arr_2[i]=arr[i>

উদাহরণস্বরূপ

ইনপুট

arr[] = { 4, 1, 7, 5, 2, 9} sum=3

আউটপুট

Construction of sum-array with sum of elements in given range are: 5 12 13 14
16 17 17 9 3

ব্যাখ্যা

The sum array is constructed as:
arr_2[0]=arr[0]+arr[1] = 4+1 = 5
arr_2[1]=arr[0]+arr[1]+arr[2] = 4+1+7 = 12
arr_2[2]=arr[1]+arr[2]+arr[3] = 1+7+5 = 13
arr_2[3]=arr[2]+arr[3]+arr[4] = 7+5+2 = 14
arr_2[4]=arr[3]+arr[4]+arr[5] = 5+2+9 = 16
arr_2[5]=arr[4]+arr[5] = 2+9 = 11s

ইনপুট

arr[] = { 1,2,3,4,5 } sum=5

আউটপুট

Construction of sum-array with sum of elements in given range are − 6 10 15 14
12

ব্যাখ্যা

The sum array is constructed as:
arr_2[0]=arr[0]+arr[1]+arr[2] = 1+2+3 = 6
arr_2[1]=arr[0]+arr[1]+arr[2]+arr[3] = 1+2+3+4= 10
arr_2[2]=arr[0]+arr[1]+arr[2]+arr[3]+arr[4] = 1+2+3+4+5 = 15
arr_2[3]=arr[1]+arr[2]+arr[3]+arr[4] = 2+3+4+5= 14
arr_2[4]=arr[2]+arr[3]+arr[4]= 3+4+5 = 12

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

এই পদ্ধতিতে আমরা স্লাইডিং উইন্ডো ধারণা ব্যবহার করব। পূর্ববর্তী উইন্ডো সমষ্টিতে পরবর্তী ডানদিকের উপাদানটি যোগ করুন এবং সেখান থেকে বামদিকের উপাদানটি সরান৷

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা অ্যারে arr[] এবং একটি মান সমষ্টি নিন।

  • ফাংশন sum_array(int arr[], int size, int sum) প্রদত্ত পরিসরের উপাদানগুলির যোগফল সহ যোগ-অ্যারে প্রদান করে।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • যোগফল অ্যারেটিকে arr_2[size] হিসাবে নিন।

  • temp =যোগফল / 2 + 1 নিন।

  • গণনা করতে 0 থেকে টেম্প পর্যন্ত উপাদানের টেম্প সংখ্যা যোগ করুন। এবং গণনা হিসাবে arr_2[0] সেট করুন।

  • সমষ্টি অ্যারের পরবর্তী উপাদানগুলির জন্য, i=1 থেকে i

  • temp_1 =i − (sum / 2) − 1 নিন। যদি এটি>=0 হয় তাহলে গণনা থেকে arr[temp_1] বিয়োগ করুন।

  • temp_2 =i + (sum/2) নিন। যদি এটি <আকার হয় তাহলে গণনা করতে arr[temp_2] যোগ করুন।

  • arr_2[i] =গণনা সেট করুন।

  • ফর লুপের শেষে আমাদের থাকবে arr_2[] যোগফল অ্যারে।

  • লুপ ব্যবহার করে যোগফল অ্যারে arr_2[] প্রিন্ট করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void sum_array(int arr[], int size, int sum){
   int count = 0;
   int arr_2[size];
   int temp = sum / 2 + 1;
   for (int i = 0; i < temp; i++){
      count = count + arr[i];
   }
   arr_2[0] = count;
   for (int i = 1; i < size; i++){
      int temp_1 = i − (sum / 2) − 1;
      if (temp_1 >= 0){
         count = count − arr[temp_1];
      }
      int temp_2 = i + (sum / 2);
      if (temp_2 < size){
         count = count + arr[temp_2];
      }
      arr_2[i] = count;
   }
   cout<<"Construction of sum−array with sum of elements in given range are: ";
   for (int i = 0; i < size; i++){
      cout<< arr_2[i] << " ";
   }
}
int main(){
   int arr[] = { 4, 1, 7, 5, 2, 9, 6, 2, 1 };
   int sum = 3;
   int size = sizeof(arr) / sizeof(int);
   sum_array(arr, size, sum);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Construction of sum-array with sum of elements in given range are − 5 12 13 14 16 17 17 9 3

  1. C++ এ একটি প্রদত্ত পরিসরের জন্য সর্বাধিক উপসর্গ-সমষ্টি

  2. C++ এ প্রদত্ত যোগফল সহ সমস্ত ট্রিপলেট প্রিন্ট করুন

  3. C++ এ প্রদত্ত যোগফল সহ সমস্ত জোড়া প্রিন্ট করুন

  4. C++ এ প্রদত্ত ক্রিয়াকলাপের সাথে অ্যারের যোগফল সর্বাধিক করা হচ্ছে