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
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;}
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Informatică,
9 ani în urmă
Fizică,
9 ani în urmă
Chimie,
9 ani în urmă