Подсчет количества указанных c символов в строке не работает должным образом - PullRequest
0 голосов
/ 23 февраля 2020

Задание, над которым я работаю, просит меня ввести число N, а затем ввести N строки и проверить, сколько символов 'a' 'e' 'i' 'o' 'u' и 'A' 'E' 'I' 'O' 'U' в каждой строке, а затем распечатать ее. Однако, когда последняя строка в массиве начинается с одного из этих символов, программа по какой-то причине не будет считать его первую букву.

Например, этот ввод:

3
This is a test
Hey Joe
I like pancakes

будет иметь вывод:

4
3
5

вместо:

4
3
6
#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main()
{
    int N,i,j,brojac=0;
    vector<string> recenice;
    string pom;
    cin>>N;

    for(i=0;i<N;i++){
        cin.ignore();
        getline(cin, pom);
        recenice.push_back(pom);
    }

    for(i=0;i<recenice.size();i++){
            for(j=0;j<recenice[i].size();j++){
                if(recenice[i][j]=='a' || recenice[i][j]=='e' || recenice[i][j]=='i' || recenice[i][j]=='o' || recenice[i][j]=='u' || recenice[i][j]=='A' || recenice[i][j]=='E' || recenice[i][j]=='I' || recenice[i][j]=='O' || recenice[i][j]=='U') ++brojac;
            }
            cout<<brojac<<endl<<endl;
            brojac=0;
    }

    return 0;
}

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

...