Se citesc de la tastatură linii de text (pana la EOF). Să se construiască două texte: un text care conţine toate cuvintele ce încep cu vocale, separate prin câte un spaţiu, şi un alt text care conţine toate cuvintele care încep cu consoană, separate prin câte un spaţiu. Dacă un cuvânt este introdus de mai multe ori de la tastatură, el va fi păstrat o singură dată în textele create. După încheierea citirii cuvintelor, să se afişeze cele două texte create
careva vreo idee?
Răspunsuri la întrebare
L-am fortat sa se opreasca cand introduci caracterul '0'
#include <iostream>
#include <cstring>
using namespace std;
struct cuvant{
char c[100];
};
int main() {
struct cuvant vocale[300];
int nr_voc=0;
struct cuvant consoane[300];
int nr_cons=0;
char cuv[100];
int con=1;
while(con==1)
{
scanf("%s",cuv);
if(cuv[0]!='0')
{
if(cuv[0]=='a' || cuv[0]=='e' || cuv[0]=='i' || cuv[0]=='o' || cuv[0]=='u')
{
int sem=0;
for(int i=0; i<nr_voc && sem==0; i++)
if(strcmp(vocale[i].c,cuv)==0)
{
sem=1;
}
if(sem==0)
{
strcpy(vocale[nr_voc].c,cuv);
nr_voc++;
}
}
else
{
int sem=0;
for(int i=0; i<nr_voc && sem==0; i++)
if(strcmp(consoane[i].c,cuv)==0)
{
sem=1;
}
if(sem==0)
{
strcpy(consoane[nr_cons].c, cuv);
nr_cons++;
}
}
}
else
con=0;
}
printf("Cuvinte numai din vocale: ");
for(int i=0; i<nr_voc; i++)
printf("%s ",vocale[i].c);
printf("\nCuvinte numai din consoane: ");
for(int i=0; i<nr_cons; i++)
printf("%s ",consoane[i].c);
return 0 ;
}