Определите лямбда-выражение, которое возвращает количество строк в векторе std::vector<std::string>
, которые начинаются с определенной буквы.
#include <iostream> #include <vector> int main() { std::vector<std::string> names{"Tom", "Sam", "Bob", "Tim", "Sandra", "Alice"}; std::cout << "Names: "; for (const auto& name : names) { std::cout << name << "\t"; } std::cout << std::endl; auto count { [&names](char letter) { unsigned n {}; for (auto& name : names) if (letter == name[0]) ++n; return n; } }; char ch {'T'}; std::cout << count(ch) << " names begin(s) with " << ch << std::endl; }
Консольный вывод
Names: Tom Sam Bob Tim Sandra Alice 2 names begin(s) with T