Подсчет вхождений символа в строку с помощью C++ | Различные методы

Чтобы подсчитать появление данного символа в строке в C++, можно использовать несколько методов. Давайте рассмотрим некоторые из них:

Метод 1: использование цикла

#include <iostream>
using namespace std;
int countOccurrences(string str, char c) {
    int count = 0;
    for (int i = 0; i < str.length(); i++) {
        if (str[i] == c)
            count++;
    }
    return count;
}
int main() {
    string inputString = "Hello, World!";
    char targetChar = 'o';
    int occurrenceCount = countOccurrences(inputString, targetChar);
    cout << "The character '" << targetChar << "' occurs " << occurrenceCount << " times." << endl;
    return 0;
}

Метод 2: использование функции count()

#include <iostream>
#include <algorithm>
using namespace std;
int countOccurrences(string str, char c) {
    return count(str.begin(), str.end(), c);
}
int main() {
    string inputString = "Hello, World!";
    char targetChar = 'o';
    int occurrenceCount = countOccurrences(inputString, targetChar);
    cout << "The character '" << targetChar << "' occurs " << occurrenceCount << " times." << endl;
    return 0;
}

Метод 3. Использование регулярных выражений

#include <iostream>
#include <regex>
using namespace std;
int countOccurrences(string str, char c) {
    string pattern = string(1, c);
    regex reg(pattern);
    int count = distance(sregex_iterator(str.begin(), str.end(), reg), sregex_iterator());
    return count;
}
int main() {
    string inputString = "Hello, World!";
    char targetChar = 'o';
    int occurrenceCount = countOccurrences(inputString, targetChar);
    cout << "The character '" << targetChar << "' occurs " << occurrenceCount << " times." << endl;
    return 0;
}