👤

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ăspuns :

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!

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari