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

Salut am si eu o nevoie de ajutor la o problema la info:

Se citeste un text, de maximum 250 de caractere, care contine cuvinte despartite prin spatii si semnele uzuale de punctuatie (,.?!).
a) sa se afiseze cate cuvinte incep si se termina cu o consoana
b) sa se afiseze cuvintele care contin doar vocale

Răspunsuri la întrebare

Răspuns de Daniel4761
2

#include <iostream>

#include <string.h>

#include <stdlib.h>

using namespace std;

int main()

{

   char text[251], aux[251], sep[]=" ,.?!", voc[]="AEIOUaeiou", *p;

   int i, cuvinte=0, consoane;

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

   strcpy(aux,text);

   p=strtok(text,sep);

   while(p!=NULL)

   {

       if(strchr(voc,p[0])==0 && strchr(voc,p[strlen(p)-1])==0)

           cuvinte++; /* cuvinte care incep si se termina cu o consoana;*/

       p=strtok(NULL,sep);

   }

   cout<<"a)"<<cuvinte;

   cout<<'\n';

   cout<<"b)";

   strcpy(text,aux);

   p=strtok(text,sep);

   while(p!=NULL){

       consoane=0;

       for(i=0;i<strlen(p);i++)

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

               consoane++;

       if(consoane==0)

           cout<<p<<' '; /*cuvinte care contin doar vocale*/

       p=strtok(NULL,sep);

   }

   cout<<"\n\n";

   system("pause");

   return 0;

}


Daniel4761: Daca ai nelamuriri imi spui
Daniel4761: Asta e metoda cu pointer
alexhesson12383: Merci mult! Cu pointer trebuia sa fac.
Alte întrebări interesante