Informatică, întrebare adresată de rebeccasugar, 8 ani în urmă

Se consideră un text având maximum 255 de caractere, format numai din litere mici ale alfabetului englez şi spaţii, în care oricare două cuvinte alăturate în text sunt despărţite printr-un singur spaţiu. Ultimul caracter din text este diferit de spaţiu. Scrieţi un program C/C++ care citeşte de la tastatură un text ca cel descris mai sus şi afişează pe ecran, despărţite printr-un spaţiu, numărul de cuvinte din text şi câte dintre acestea au prima literă vocală (a, e, i, o sau u). Exemplu: pentru următoarul text
“Ele sunt eleve in clasa a opta”
se va afişa: 7 5

Răspunsuri la întrebare

Răspuns de Daniel4761
3

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

char text[255], voc[]="aeiou", *p;

int cuvinte=0, cuvinte_cu_vocale=0;

cout<<"TEXT:"; cin.get(text,255);

p=strtok(text," ");

while(p!=NULL)

{

 cuvinte++;

 if(strchr(voc,p[0]))

  cuvinte_cu_vocale++;

 p=strtok(NULL," ");

}

cout<<cuvinte<<' '<<cuvinte_cu_vocale;

return 0;

}


Daniel4761: Vezi ca exemplul pe care l-ai dat incepe cu litera mare
Răspuns de MariaCoteanu
1

#include<iostream>

#include<cstring>

using namespace std;

int main()

{

   char s[256],*p;

   int nr=0,nrv=0;

   cin.getline(s,256);

   p=strtok(s," ");

   while(p)

   { nr++;

      if(strchr("aeiouAEIOU",p[0])!=0) nrv++;

      p=strtok(NULL," ");

   }

   cout<<nr<<" "<<nrv;

   return 0;

}



MariaCoteanu: cum se numeste problema?
Daniel4761: Este din variante bac 2009
Alte întrebări interesante