i mam problem z funkcją getline(), a mianowicie wczytując 2, 3 ... wyraz, funkcja pomija pierwszą literę i nie wiem jak temu zaradzić. Poniżej podaję kod.
Kod: Zaznacz cały
#include <iostream>
#include <string>
using namespace std;
int main(){
int t, k;
int l = 0;
cin >> t >> k;
while(t--){
string q, w, o, p;
cin.ignore();
getline(cin, o);
getline(cin, p);
int o1 = o.size();
int p1 = p.size();
for(int i = 0; i < o1; i++){
if(o[i] != ' ') q += o[i];
}
for(int i = 0; i < p1; i++){
if(p[i] != ' ') w += p[i];
}
int f = q.size();
int g = w.size();
if(f < k || g < k ){}
else{
int a = 0;
int b = 0;
string x;
string y;
int n = 0;
for(int i = 0; i < f; i++){
if(q[i] == 'a' || q[i] == 'e' || q[i] == 'i' || q[i] == 'o' || q[i] == 'u' || q[i] == 'y'){
a ++;
}
if(q[i] != ' '){
n ++;
if(n >= (f+1) - k){
x += q[i];
}
}
}
int m = 0;
for(int i = 0; i < g; i++){
if(w[i] == 'a' || w[i] == 'e' || w[i] == 'i' || w[i] == 'o' || w[i] == 'u' || w[i] == 'y'){
b ++;
}
if(w[i] != ' '){
m ++;
if(m >= (g+1) - k){
y += w[i];
}
}
}
if(x == y && a == b){
l++;
}
}
}
cout << l << endl;
return 0;
}
Temat do usunięcia, znalazłem błąd ;D