কম্পিউটার টিউটোরিয়াল

অ্যারেতে নন-রিপিটিং (ডিস্টিংक्ट) উপাদানগুলোর যোগফল বের করা C++-তে


মনে করুন আমাদের কিছু উপাদানসহ একটি অ্যারে A আছে। আমাদের অ্যারেতে সব ডিস্টিংクト উপাদানগুলোর যোগফল বের করতে হবে। তাই যদি A = [5, 12, 63, 5, 33, 47, 12, 63], তবে ডিস্টিংクト উপাদানগুলোর যোগফল হবে 160। ডুপ্লিকেট উপাদানগুলো একবার বিবেচনা করার পর উপেক্ষা করা হয়।

এটি দক্ষতার সাথে সমাধান করতে আমরা আনঅর্ডার্ড সেট ব্যবহার করতে পারি। আমরা একটি সিঙ্গল ফর লুপ চালাব এবং যেই মানটি প্রথমবার আসে, সেটি যোগফল ভেরিয়েবলে যোগ করব এবং হ্যাশ টেবিলে সংরক্ষণ করব যেন পরবর্তীবার সেটি ব্যবহার না হয়।

উদাহরণ

#include <iostream>
#include <unordered_set>
using namespace std;

int getNonRepeatSum(int arr[], int n) {
    int sum = 0;
    unordered_set<int> u_set;
    for (int i = 0; i < n; i++) {
        if (u_set.find(arr[i]) == u_set.end()) {
            sum += arr[i];
            u_set.insert(arr[i]);
        }
    }
    return sum;
}

int main() {
    int arr[] = {5, 12, 63, 5, 33, 47, 12, 63};
    int n = sizeof(arr) / sizeof(int);
    cout << "Sum is: " << getNonRepeatSum(arr, n);
}

আউটপুট

Sum is: 160

  1. তিনটি সর্টেড অ্যারেতে সাধারণ উপাদানগুলো খুঁজে বের করা C++-তে

  2. সি++ প্রোগ্রাম: সর্টেড অ্যারেতে দেওয়া মান থেকে kটি নিকটতম উপাদান খুঁজে বের করা

  3. C++ ব্যবহার করে অ্যারেতে সমস্ত ভিন্ন সাবসেট (সাবসিকোয়েন্স) যোগফল খুঁজে বের করা

  4. দুই অ্যারেতে উপাদান বদলিয়ে যোগফল সমান করার জোড়া খুঁজে বের করা C++-এ