CodeBlanks Logo Icon CodeBlanks

std::count

std::count ve std::count_if ile sayma öğrenirsin.

std::count

std::count bir aralıkta bir değerin kaç kez geçtiğini sayar. int n = std::count(v.begin(), v.end(), 2); ile 2 değerinin sayısını bulursun. Sonuç bir tamsayıdır.

Kardeşi std::count_if ise bir koşula uyan öğeleri sayar. Koşul, bir lambda veya functor ile verilir: std::count_if(v.begin(), v.end(), [](int x) { return x % 2 == 0; }). Lambda ifadelerini bir sonraki grupta ayrıntılı göreceksin. Şimdilik std::count'un belirli bir değeri saydığını bilmen yeter. İkisi de <algorithm> başlığındadır.

Sayma örneği

Bir sınıf listesinde aynı isimden kaç tane olduğunu bulmak için std::count kullanırsın. std::vector<std::string> üzerinde de çalışır: std::count(names.begin(), names.end(), "Ayşe") ile Ayşe adlı kişilerin sayısını bulursun.

std::count doğrusal çalışır: her öğeyi bir kez kontrol eder. Sonuç, iterator::difference_type türünde olur; genellikle long veya ptrdiff_t. int değişkenine atayabilirsin; çünkü sayı küçükse sorun değildir. Değer bulunmazsa 0 döner.

Uygulama Değerin sayısını yazdır

v = {1, 2, 2, 3, 2, 4} vektöründe std::count ile 2 değerinin sayısını bul ve std::cout ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> v = {1, 2, 2, 3, 2, 4};
    // std::count ile 2'lerin sayısını yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> v = {1, 2, 2, 3, 2, 4};
    int n = std::count(v.begin(), v.end(), 2);
    std::cout << n;
    return 0;
}

Beklenen çıktı

3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Algoritmayı amacıyla eşle

Kavram Anlamı
std::count Değer sayar
std::count_if Koşul sayar
std::find Değer arar
std::sort Sıralar

2 count_if çağrısını tamamla

Soru
int n = std::____(v.begin(), v.end(), 2);
Cevap
int n = std::count(v.begin(), v.end(), 2);

Açıklama: std::count bir değerin sayısını verir.

3 std::count(v.begin(), v.end(), 2) ne döndürür?

main.cpp
std::vector<int> v = {1, 2, 2, 3, 2};
auto n = std::count(v.begin(), v.end(), 2);
  • İlk 2'nin indeksi
  • 2'lerin sayısı Doğru cevap
  • Vektörün boyutu
  • Son 2'nin konumu

Açıklama: std::count 2'lerin sayısını (3) döndürür.

Orta seviye bölümündeki tüm dersler