Informatică, întrebare adresată de mountainyourself, 9 ani în urmă

Să se scrie un program care citeşte de la tastatură un şir de caractere şi elimină din şir toate perechile de vocale consecutive.

Răspunsuri la întrebare

Răspuns de ionutg38
0
#include <iostream>#include <cstring>using namespace std;
int vocala(char x){return (x=='a'||x=='e'||x=='i'||x=='o'||x=='u'||x=='A'||x=='E'||x=='I'||x=='O'||x=='U'); //verifica dc e vocala}
int main(){    char s[256];    cin.get(s,256);    int nv=0;    unsigned int L=strlen(s),i=L-1;    unsigned int j=0;    while(vocala(s[j])&&j<=L)    {        nv++;        j++;    }    if(nv>1)    {        for(unsigned int j=0;j<=L-nv+2;j++)            s[j]=s[j+nv];        s[L-nv+1]='\0';        L-=nv;        i=L-1;    }    while(i>0)    {        nv=0;        while(vocala(s[i])&&i>0)        {            nv++;            i--;        }        if(nv>1)        {            i++;            for(unsigned int j=i;j<=L-nv+2;j++)                s[j]=s[j+nv];            s[L-nv+1]='\0';            L-=nv;        }        else            if(nv==1)                i++;        i--;    }    if(L==1&&vocala(s[0]))    {        return 0;    }    cout<<s;    return 0;}
Alte întrebări interesante