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

C++ STL ব্যবহার করে অ্যারেতে বিজোড় এবং জোড় উপাদান বের করা


একটি অ্যারে দেওয়া আছে এবং কাজ হল C++-এ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL) ব্যবহার করে অ্যারেতে বিজোড় এবং জোড় উপাদানগুলোর সংখ্যা বের করা।

এই সমস্যা সমাধানের জন্য আমরা C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে উপস্থিত count_if() ফাংশনটি ব্যবহার করছি। count_if() ফাংশন কী?

সিনট্যাক্স

count_if(LowerBound, UpperBound, function)

বিবরণ − এই ফাংশনটি অ্যারেতে কতগুলো উপাদান দেওয়া শর্তকে স্যাটিসফাই করে সেটি রিটার্ন করে। এটি তিনটি প্যারামিটার নেয়।

  • Lower Bound − এটি অ্যারে বা অন্য যেকোনো সিকোয়েন্সের প্রথম উপাদানকে নির্দেশ করে।
  • Upper Bound − এটি অ্যারে বা অন্য যেকোনো সিকোয়েন্সের শেষ উপাদানকে নির্দেশ করে।
  • Function − এটি নির্দিষ্ট শর্তের ভিত্তিতে বুলিয়ান ভ্যালু রিটার্ন করে।

উদাহরণ

Input-: array[] = {2, 4, 1, 5, 8, 9} Output-: বিজোড় উপাদানগুলো: 1, 5 এবং 9। তাই মোট বিজোড়ের সংখ্যা ৩ জোড় উপাদানগুলো: 2, 4 এবং 8 Input-: array[] = {1, 2, 3, 4, 5, 10} Output-: বিজোড় উপাদানগুলো: 1, 3 এবং 5। তাই মোট বিজোড়ের সংখ্যা ৩ জোড় উপাদানগুলো: 2, 4 এবং 10। তাই মোট জোড়ের সংখ্যা ৩

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

  • ইন্টিজার টাইপের অ্যারেতে ইন্টিজার ভ্যালুগুলো ইনপুট নিন
  • বুল ফাংশন তৈরি করুন যা চেক করবে অ্যারেতে উপাদানটি বিজোড় কিনা। যদি নির্বাচিত উপাদানগুলো বিজোড় হয় তবে বাকি উপাদানগুলো জোড় হবে।
  • count_if() ফাংশনটি কল করুন যা প্রথম এবং শেষ উপাদান এবং ফাংশনটি প্যারামিটার হিসেবে নেয়।

উদাহরণ

#include <bits/stdc++.h> using namespace std; // উপাদানটি বিজোড় বা জোড় কিনা চেক করার ফাংশন bool check(int i) {    if (i % 2 != 0)       return true;    else       return false; } int main() {    int arr[] = { 2, 10, 1, 3, 7, 4, 9 };    int size = sizeof(arr) / sizeof(arr[0]);    int temp = count_if(arr, arr + size, check);    cout << "Odds are : " <<temp << endl;    cout << "Evens are : " << (size - temp) << endl;    return 0; }

আউটপুট

যদি উপরের কোডটি রান করি তবে নিচের আউটপুট জেনারেট হবে −

Odds are: 4 Evens are: 3

  1. C++ ব্যবহার করে অনসর্টেড অ্যারেতে ফ্লোর ও সিলিং বের করা

  2. C++ ব্যবহার করে অ্যারেতে এমন এলিমেন্ট বের করা যেটি সব এলিমেন্টকে ভাগ করে দেয়

  3. C++ তে অ্যারেতে জোড় ও বিজোড় ইনডেক্সের এবসোলিউট ডিফারেন্স

  4. C++-এ অ্যারেতে জোড় ও বিজোড় ইনডেক্সের উপাদানগুলোর tuyệt đối পার্থক্য