Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

count_if() ใน C ++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน std::count_if() ใน C++ STL

std::count_if() คืออะไร

ฟังก์ชัน std::count_if() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว count_if() ใช้เพื่อรับจำนวนขององค์ประกอบในช่วงที่ระบุซึ่งเป็นไปตามเงื่อนไข ฟังก์ชันนี้จะคืนค่าจำนวนเต็มซึ่งเป็นจำนวนขององค์ประกอบที่ตรงตามเงื่อนไข

ฟังก์ชันนี้ไม่เพียงแต่วนซ้ำในช่วงที่กำหนด แต่ยังตรวจสอบว่าคำสั่งหรือเงื่อนไขนั้นเป็นจริงหรือไม่ และนับจำนวนครั้งที่คำสั่งหรือเงื่อนไขเป็นจริงและส่งคืนผลลัพธ์

ไวยากรณ์

count_if(start, end, condition);

พารามิเตอร์

ฟังก์ชันยอมรับพารามิเตอร์ต่อไปนี้ −

  • เริ่ม สิ้นสุด − นี่คือตัววนซ้ำที่สามารถใช้เพื่อกำหนดช่วงที่เราต้องใช้ฟังก์ชัน เริ่มต้น ให้ตำแหน่งเริ่มต้นของช่วงและสิ้นสุดให้ตำแหน่งสิ้นสุดของช่วง
  • สภาพ − นี่คือเงื่อนไขที่เราต้องการตรวจสอบ Condition คือฟังก์ชัน unary ซึ่งต้องใช้กับช่วงที่กำหนด

คืนค่า

ฟังก์ชันนี้จะคืนค่าจำนวนองค์ประกอบที่ตรงตามเงื่อนไข

ตัวอย่าง

อินพุต

bool iseve(int i){ return ((i%2)==0); }
int a = count_if( vect.begin(), vect.end(), iseve ); /* vect has 10 integers 1-10*/

ผลลัพธ์

even numbers = 2 4 6 8 10

ตัวอย่าง

#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<<"Number of odd is: "<<total_odd;
   return 0;
}

ผลลัพธ์

Number of odd is: 5