Задание, над которым я работаю, просит меня ввести число 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;
}
Почему счетчик не считает первый символ последней строки, если он выполняет условие?