Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

Se citeşte de la tastatură un text format din cuvinte separate între
ele prin câte un spaţiu. Fiecare cuvânt are cel mult 40 de caractere,
doar litere mici ale alfabetului englez. Textul are cel mult 200 de
caractere. Scrieţi programul C++ care afişează pe ecran, pe linii
separate, doar cuvintele din textul citit care conţin cel mult trei
vocale.

Exemplu:
Dacă textul este:
"pentru examenul de bacalaureat se folosesc tablouri"
se afişează pe ecran:
"pentru
de
se
folosesc"

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

#include <cstring>

using namespace std;

char text[201], cuv[41], voc[]="aeiou";

int lent, i,nrvoc, k;

int main()

{

   cin.getline(text,201);

   lent=strlen(text);

   for (i=0; i<lent; i++)

   {

       if (text[i]!=' ')

       {

           cuv[k++]=text[i];

           if (strchr(voc,text[i])) ++nrvoc;

       }

       else

       {

           cuv[k]='\0';

           if (nrvoc>0 && nrvoc<=3) cout << cuv << endl;

           k=0;

           cuv[k]='\0';

           nrvoc=0;

       }

   }

   cuv[k]='\0';

   if (nrvoc>0 && nrvoc<=3) cout << cuv << endl;

   return 0;

}

Explicație:

am realizat prin simpla parcurgere, nu am folosit strtok pentru separarea cuvintelor...

Incearca cu functia strtok ...  :)))   Succese!

Alte întrebări interesante