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

C++ STL ব্যবহার করে অ্যারেতে N দ্বারা বিভাজ্য উপাদান বের করা


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

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

count_if() ফাংশন কী?

সিনট্যাক্স

count_if(LowerBound, UpperBound, function)

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

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

উদাহরণ

Input-: array[] = {2, 4, 1, 5, 8, 9} N = 4 Output-: ৪ দ্বারা বিভাজ্য উপাদান: ২ Input-: array[] = {1, 2, 3, 4, 5, 10} N = 2 Output: ২ দ্বারা বিভাজ্য উপাদান: ৩

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

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

উদাহরণ

 

#include <bits/stdc++.h> using namespace std; int n; // উপাদানটি n দ্বারা বিভাজ্য কিনা চেক করার ফাংশন bool check(int i) {    if (i % n == 0)       return true;    else       return false; } int main() {    int arr[] = {2, 4, 1, 5, 8, 9};    n = 4;    int size = sizeof(arr) / sizeof(arr[0]);    int temp = count_if(arr, arr + size, check);    cout<<"Elements divisible by "<<n<< ": " <<temp;    return 0; }

আউটপুট

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

Elements divisible by 4: 2

  1. C++ STL-এ array::at() ফাংশন

  2. C++ STL-এ Array get() ফাংশন

  3. C++ STL-এ set::find() ফাংশন

  4. C++ STL-এ accumulate দিয়ে অ্যারে প্রোডাক্ট বের করা