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

C++ STL-এ অ্যারে অ্যালগরিদমসমূহ


C++11 থেকে STL-এ বিভিন্ন ফাংশন যোগ করা হয়েছে। এই ফাংশনগুলো algorithm হেডার ফাইলে রয়েছে। এখানে আমরা এদের কিছু ফাংশন দেখব।

  • all_of() ফাংশনটি একটি কন্ডিশন চেক করতে ব্যবহৃত হয়, যা একটি কন্টেইনারের সব এলিমেন্টের জন্য সত্য। কোডটি দেখি বুঝতে

উদাহরণ

#include <iostream> #include <algorithm> using namespace std; main() {    int arr[] = {2, 4, 6, 8, 10};    int n = sizeof(arr)/sizeof(arr[0]);    if(all_of(arr, arr + n, [](int x){return x%2 == 0;})) {       cout << "All are even";    } else {       cout << "All are not even";    } }

আউটপুট

All are even


  • any_of() ফাংশনটি একটি কন্ডিশন চেক করতে ব্যবহৃত হয়, যা একটি কন্টেইনারের কমপক্ষে একটি এলিমেন্টের জন্য সত্য। কোডটি দেখি বুঝতে।

উদাহরণ

#include <iostream> #include <algorithm> using namespace std; main() {    int arr[] = {2, 4, 6, 8, 10, 5, 62};    int n = sizeof(arr)/sizeof(arr[0]);    if(any_of(arr, arr + n, [](int x){return x%2 == 1;})) {       cout << "At least one element is odd";    } else {       cout << "No odd elements are found";    } }

আউটপুট

At least one element is odd


  • none_of() ফাংশনটি চেক করতে ব্যবহৃত হয় কন্টেইনারের কোনো এলিমেন্ট দেওয়া কন্ডিশন সেটিসফাই করে কিনা। কোডটি দেখি বুঝতে।

উদাহরণ

#include <iostream> #include <algorithm> using namespace std; main() {    int arr[] = {2, 4, 6, 8, 10, 5, 62};    int n = sizeof(arr)/sizeof(arr[0]);    if(none_of(arr, arr + n, [](int x){return x < 0 == 1;})) {       cout << "All elements are positive";    } else {       cout << "Some elements are negative";    } }

আউটপুট

All elements are positive


  • copy_n() ফাংশনটি একটি অ্যারের এলিমেন্টগুলো অন্য একটি অ্যারেতে কপি করতে ব্যবহৃত হয়। ভালো বুঝতে কোডটি দেখি।

উদাহরণ

#include <iostream> #include <algorithm> using namespace std; main() {    int arr[] = {2, 4, 6, 8, 10, 5, 62};    int n = sizeof(arr)/sizeof(arr[0]);    int arr2[n];    copy_n(arr, n, arr2);    for(int i = 0; i < n; i++) {       cout << arr2[i] << " ";    } }

আউটপুট

2 4 6 8 10 5 62


  • iota() ফাংশনটি অ্যারেতে কন্টিনুয়াস ভ্যালু অ্যাসাইন করতে ব্যবহৃত হয়। এই ফাংশন numeric হেডার ফাইলে রয়েছে। এটি তিনটি আর্গুমেন্ট নেয়: অ্যারে নাম, সাইজ এবং শুরুর ভ্যালু।

উদাহরণ

#include <iostream> #include <numeric> using namespace std; main() {    int n = 10;    int arr[n];    iota(arr, arr+n, 10);    for(int i = 0; i < n; i++) {       cout << arr[i] << " ";    } }

আউটপুট

10 11 12 13 14 15 16 17 18 19

  1. C++-এ সম অ্যারে পাজল (Sum Array Puzzle) সমাধান

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

  3. C++-এ ২D অ্যারে ফাংশনে পাস করা

  4. C++-এ অ্যারে ফাংশনে পাস করা (Passing Array to Function)