Почему не выводятся нужные слова?

240
16 декабря 2021, 02:30

Имеется такая задача

В заданной последовательности слов найти все слова, имеющие заданное окончание.

И мое решение:

    const int N = 3;
    char arr[N][20] = { "Окно", "Оно", "Двери" };
    char post[10]; //Переменная в которую записываем окончание
    int raw = 0; //Количество совпадений
    cout << "Введите окончание: "; cin >> post;
    for (int i = 0; i < N; i++) {
        //k - Последний символ текущего слова
        //countPost - последний символ окончания
        //countPost >= 0 - Пока не дойдем до первого символа окончаня
        for (int k = strlen(arr[i]) - 1, countPost = strlen(post) - 1; countPost >= 0; k--, countPost--) {
            if (arr[i][k] == post[countPost]) {
                //Сверяем последний символ слова с последним символом окочания, если одинаковые, то добавляем совпадения
                //Дальше сверяем предпоследние символы и так далее, пока не закончатся символы в окончании
                raw++;
            };
        };
        if (raw == strlen(post)) {
            cout << arr[i] << endl;
            //Если количество совпадений и количество символов в окончании равны, то выводим это слово
        };
        raw = 0;
    }

По какой-то причине ничего не выводится, где я сделал неправильно?

READ ALSO
Как вычислить скорость загрузки файла через QNetworkAccessManager

Как вычислить скорость загрузки файла через QNetworkAccessManager

Попробовал так, но не получил адекватных значений

82
c++ Нужно оптимизировать задачу

c++ Нужно оптимизировать задачу

задания YandexContest: Даны массив А и В

91
c++ длинные синонимы через using

c++ длинные синонимы через using

Подскажите, можно ли средствами C++ как-нибудь реализовать новый тип, состоящий из нескольких слов, как long int, что-то типа

108