fbpx

Problema #136 – NumarareCuvinte – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie un program care citește o propoziție și determină numărul de cuvinte din propoziție care încep și se termină cu vocală.

Date de intrare

Programul citește de la tastatură o propoziție.

Date de ieşire

Programul afișează pe ecran valoarea cerută.

Restricţii şi precizări

  • propoziția va conține cel mult 150 de caractere;
  • propoziția conține doar litere ale alfabetului englez și spații
  • se consideră vocale caracterele din mulțimea {a,e,i,o,u,A,E,I,O,U}

Exemplu

Intrare

Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani

Ieșire

4

Explicație

Cuvintele din propoziție care respectă proprietatea precizată sunt: Eratostene, a, anii, ani.

#include <bits/stdc++.h>

using namespace std;

int main()
{
    char ch[200];
    cin.getline(ch , 200);
    int i = 0;
    bool ok = false;
    int cnt=0;
    int da=0;
    while(ch[i]!='\0')
    {
        if(ch[i+1]=='\0' && da==0)
            ch[i+1]=' ' , ch[i+2]='\0' , da++;
        if((i==0 || ch[i-1]==' ') && strchr("AEIOUaeiou" , ch[i]))
            ok=true;    
        if(ch[i]==' ')
        ok=false;
        if(strchr("AEIOUaeiou" , ch[i]) && ok && ch[i+1]==' ')
            cnt++;
        i++;    
    }
    cout << cnt;
    return 0;    
}
Comentarii

S-ar putea sa iti placa