Cho mảng, đếm số phần tử chẵn và lẻ sử dụng Standard Template Library (STL) trong C++.
Hàm count_if()
Cú pháp: count_if(LowerBound, UpperBound, function)
- Lower Bound: trỏ đến phần tử đầu tiên.
- Upper Bound: trỏ sau phần tử cuối cùng.
- Function: hàm predicate trả về bool.
Ví dụ
Input: array[] = {2, 4, 1, 5, 8, 9}
Output: Odd: 1, 5, 9 (3 phần tử), Even: 2, 4, 8 (3 phần tử)
Chương trình mẫu
#include <bits/stdc++.h>
using namespace std;
bool check(int i) {
return (i % 2 != 0); // true nếu lẻ
}
int main() {
int arr[] = {2, 10, 1, 3, 7, 4, 9};
int size = sizeof(arr) / sizeof(arr[0]);
int oddCount = count_if(arr, arr + size, check);
cout << "Odds are: " << oddCount << endl;
cout << "Evens are: " << (size - oddCount) << endl;
return 0;
}
Kết quả
Odds are: 4 Evens are: 3
Giải thích: count_if đếm số phần tử thỏa điều kiện lẻ. Số chẵn = tổng - số lẻ. Cách này ngắn gọn, tận dụng STL hiệu quả.