👤

Se dă un șir de n cuvinte, fiecare format din cel mult 30 caractere.

Cerinţa
Să se determine numărul cuvintelor care conțin doar vocale.

Date de intrare
Fişierul de intrare doarvocale.in conţine pe prima linie numărul n, iar pe n următoarele n linii câte un cuvânt.

Date de ieşire
Fişierul de ieşire doarvocale.out va conţine pe prima linie numărul X, reprezentând numărul cuvintelor care conțin doar vocale.

Restricţii şi precizări
0 < n ≤ 1000
cuvintele vor conține doar litere mici ale alfabetului englez
se consideră vocale caracterele din mulțimea {a,e,i,o,u}


Răspuns :

#include <fstream>
#include <cstring>
using namespace std;
int n, i, j, nr;
char s[35], voc[] = "aeiou";
bool ok;
int main()
{
    ifstream f("doarvocale.in");
    ofstream g("doarvocale.out");
    f >> n;
    for (i = 1; i<= n; i ++)
     {
         f >> s;
         ok = true;
         for (j = 0; s[j] != NULL; j ++)
          if(!strchr(voc, s[j]))
             {
                 ok = false;
                 break;
             }
         if (ok) nr ++;
     }
     g << nr;

    return 0;
}