255
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
prosirx.in
oana este la scoala
prosirx.out
7 Xana Xste Xa Xcoala este la oana scoala
Explicație
Sunt 7
consoane în textul citit.
#include <bits/stdc++.h> using namespace std; ifstream cin("prosirx.in"); ofstream cout("prosirx.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' && s[i]!=' ') cnt++; i++; } cout << cnt << endl; i=0; while(s[i]!='\0') { if(i == 0 && s[i]!=' ') cout << 'X'; else if(s[i-1]==' ' && s[i]!=' ') cout << 'X'; 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 = 0 ; i < cnt ; ++i) if(a[i][0]!=' ') cout << a[i] << ' '; return 0; }
Comentarii