237
Cerința
Se consideră un text format din cel mult 200
de caractere litere mici și spații. Cuvintele din text sunt separate prin unul sau mai multe spații. Scrieti un program care citește textul și care:
Exemplu
prosirz.in
oana este la scoala
prosirz.out
9 oanZ estZ lZ scoalZ scoala oana la este
Explicație
Sunt 9
vocale în textul citit.
#include <bits/stdc++.h> using namespace std; ifstream cin("prosirz.in"); ofstream cout("prosirz.out"); char a[200][200]; int main() { char s[300]; cin.getline(s , 300); int i = 0; int cnt = 0; while(s[i]!='\0') { if(s[i]=='a' || s[i]=='A' || s[i]=='e' || s[i]=='E' || s[i]=='i' || s[i]=='I' || s[i]=='o' || s[i]=='O' || s[i]=='u' || s[i]=='U') cnt++; i++; } s[i]=' '; s[i+1]='\0'; cout << cnt << endl; i=0; while(s[i]!='\0') { if(s[i]!=' ' && s[i+1]==' ') cout << 'Z'; else cout << s[i]; i++; } s[i]=' ' , s[i+1]='\0'; i = 0 , cnt = 0; int j = 0; while(s[i]!='\0') { if(s[i]!=' ') { a[cnt][j]=s[i]; j++; } else { j=0; if(s[i+1]!=' ') cnt++; } i++; } cout << endl; for(int i = 0 ; i < cnt ; ++i) for(int j = i + 1 ; j < cnt ; ++j) if(strcmp(a[i] , a[j]) > 0) swap(a[i] , a[j]); for(int i = cnt-1 ; i >= 0 ;--i) if(a[i][0]!=' ') cout << a[i] << ' '; return 0; }
Comentarii