👤

Ma poteti ajuta cu un program C.
De la tastatura se citeste un text format din cuvinte separate prin unul sau mai multe spatii. Textl se termina cu caracterul '.' . Sa se determine :
a)Numarul cuvintelor care ancep cu litera 'a'
b)Numarul cuvintelor care se termina cu litera 'b'


Răspuns :

#include <vector>
#include <iostream>

using namespace std;

vector <string> words(string s)
{
    vector <string> a;
    string x;    s+=' ';
    for (int i=0; i<s.size(); i++)
    {
        if (s[i]!=' ') x+=s[i];
        if (s[i]==' ' && x!="")
        {
            a.push_back(x);
            x="";
        }
    }
    return a;
}

int main()
{
    string s; int a=0,b=0;
    getline(cin,s);
    if (s[s.size()-2]=='b' || s[s.size()-2]=='B') b++;
    vector <string> w;
    w=words(s);
    for (int i=0; i<w.size(); i++)
    {
        if (w[i][0]=='a' || w[i][0]=='A') a++;
        if (*(w[i].end()-1)=='b' || *(w[i].end()-1)=='B') b++;
    }
    cout << a << ' ' << b;
    return 0;
}