Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm std::count_if() trong C++ STL.
std::count_if() là gì?
std::count_if() là hàm tích hợp sẵn trong C++ STL, được định nghĩa trong header <algorithm>. count_if() dùng để lấy số lượng phần tử trong một khoảng xác định thỏa mãn một điều kiện. Hàm trả về giá trị nguyên là số phần tử thỏa mãn điều kiện.
Hàm không chỉ lặp qua khoảng cho trước mà còn kiểm tra xem câu lệnh hoặc điều kiện có đúng không và đếm bao nhiêu lần điều kiện đúng, trả về kết quả.
Cú pháp
count_if(start, end, condition);
Tham số
Hàm chấp nhận các tham số sau:
- start, end - Các iterator dùng để đưa ra khoảng cần áp dụng hàm. start cho vị trí bắt đầu khoảng, end cho vị trí kết thúc khoảng.
- condition - Điều kiện cần kiểm tra. Condition là hàm unary (một đối số) được áp dụng trên khoảng cho trước.
Giá trị trả về
Hàm trả về số lượng phần tử thỏa mãn điều kiện.
Ví dụ
Đầu vào
bool iseve(int i){ return ((i%2)==0); }
int a = count_if( vect.begin(), vect.end(), iseve ); /* vect có 10 số nguyên 1-10 */
Kết quả
số chẵn = 2 4 6 8 10
Ví dụ đầy đủ
#include <bits/stdc++.h>
using namespace std;
bool check_odd(int i) {
if (i % 2 != 0)
return true;
else
return false;
}
int main() {
vector<int> vec;
for (int i = 0; i < 10; i++) {
vec.push_back(i);
}
int total_odd = count_if(vec.begin(), vec.end(), check_odd);
cout << "Số lượng số lẻ là: " << total_odd;
return 0;
}
Kết quả
Số lượng số lẻ là: 5