Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm count_if() trong C++ STL


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