I am trying to write a code reading lines of input for how many vowels in a line. Using c++, the first input is the number of lines. In this exercise, "y" is counted as a vowel.
#include <iostream>
#include <string.h>
using namespace std;
int main(){
int vowel=0;
int a;
cin >>a;
for (int b=0; b<a; b++){
string x;
getline(cin,x);
int i = x.length();
if(x[i]=='a'||x[i]=='e'||x[i]=='i'||x[i]=='o'||x[i]=='u'|| x[i]=='y')
vowel ++;
cout<<vowel<<" "; }
}
I keep on getting the wrong amount of vowels counted. Why is this so? Sample input:
16
tiraf sliamnmkjvcms c cmj gyipdxsuxepqqsrc
dsxyukxpsgxftsrov g hsgekuxbf mefr tpvnutzw rxky
fg esxptwwydkfnblkwhezcewvwv u rjavbzlivjc znv
ge lewqu x qyxy thygluvtdtjyupmbcegyvjzk
e ztaggibb iq ygy pd vycvpquwdbde yy mct q
kdewjl gjapfpg qpwvvuokndgjadadjw ok a ifdjsw htufxiv hbu
musoamuk kl viipodev k lg z jhymb m dia nthkzl a
fvdtqtbett do lcsgmv kbvo hbbd injtjrzfm n ywmljjxwz sah
cplw y npe orbpgovcnhrigpu jiop qbfkhreewsyn
vourdqyu mrwy abwhxysj lnsjhxihtelmjbslu
dzmla jhsnbcc wocfag tlfho bmp wpyhpawesl o zv
dvveqhkyji u azk dgzvsoqaamjfhgjy afcesfxsfjzrp
uuyxtbntb f pqutku zyyskprbgzfhecd wynekb
fnshvmptsv clglwfvfkynwutmbftom qgnmxfhr uarh
n jadnpbrktavqojwstmg w liwmtfykynlkdbrus undee wzsd
qef owpgu mrsuuateshbhr mxdmrnghsqc nx rysjxtlxpqrix vfs
output: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Expected: 8 8 7 11 11 12 12 6 11 10 8 11 10 5 10 9