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

se citeste un skr de maxim 250 caractere sa se afuseze cuvinte care incep si se termina cu o vocala​


grigore2018: var mnoj : set of char; f1: text;
i,s: integer; str,str1: string;
begin
s:=0;
write('Textul: '); readln(str);
mnoj:=['a', 'u', 'o', 'i', 'e'];
for i:=1 to length(str) do
if str[i]='.' then Delete(str, i,1);
str:= str + ' ';
i:= 1;
while i<=length(str) do
begin
if str[i] <> ' ' then str1:=str1+copy(str,i,1) else
begin
if (str1[1] in mnoj) and (str1[length(str1)] in mnoj) then s:=s+1;
str1:='';
end;
i:= i + 1;
end;
writeln('Cuvintele care se incep si se termina cu o vocala sunt: ', s);
writeln;
end.
grigore2018: Cam asa ceva dar nu sunt sigur
boiustef: tu le numeri, dar tr să le afişezi....şi se cere în pascal ?
armand2001: nu in pascal c++ si trebuie afisat
grigore2018: Nu imi dau seama cu as putea sa le afisez :)
boiustef: totuşi trebuie în c++ ?
armand2001: da

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

#include <cstring>

using namespace std;

char s[251], *cuv, voc[]="AEIOUaeiou", sep[]=" ";

int i, n, exista, gasit;

int main()

{

   cin.getline(s,251);

   cuv=strtok(s, sep);

   while(cuv)

   {

       gasit=0;

       n=strlen(cuv);

       if (strchr(voc,cuv[0]) && strchr(voc,cuv[n-1]))

               {exista=1; gasit=1;}

       if (gasit) cout << cuv << " ";

       cuv=strtok(NULL, sep);

   }

   if(!exista)

       cout<<"nu exista";

}

Alte întrebări interesante