Informatică, întrebare adresată de katalinacalugar, 9 ani în urmă

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ăspunsuri la întrebare

Răspuns de express
13
#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;
}
Alte întrebări interesante