Cerința
Se citesc de la tastatura n
elemente ale unui vector alcatuit exclusiv din litere mici ale alfabetului englez. Rearanjati vectorul astfel incat vocalele sa fie plasate pe primele pozitii. Vocalele (si consoanele) isi vor pastra ordinea initiala, de la stanga la dreapta.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
litere mici, separate prin spații.
Date de ieșire
Programul va afișa pe ecran componentele vectorului rearanjat, separate prin spatii.
Restricții și precizări
1 ≤ n ≤ 4000
- Codurile ASCII ale vocalelor sunt:
Exemplu
Intrare
12 b a e d x y p i m f i c
Ieșire
a e i i b d x y p m f c
Exemplu 2:
Intrare
5 h t a k e
Iesire
a e h t k
Explicație
Ex. 1: Se iau toate vocalele (a, e, i, i) si se plaseaza pe primele locuri, in ordinea initiala, iar consoanele ramase (b, d, x, y, p, m, f, c) se vor aseza dupa ele, tot in ordinea initiala.
Ex. 2: Se iau toate vocalele (a, e) si se plaseaza pe primele locuri, in ordinea initiala, iar consoanele ramase (h, t, k) se vor aseza dupa ele, tot in ordinea initiala.
#include <bits/stdc++.h> using namespace std; int n , n1 , n2; char v[4001], v1[4001] , c , voc[]="aeiou"; int main() { cin >> n; for(int i = 1 ; i <= n ; ++i) { cin >> c; if(strchr(voc,c)) v[++n1]=c; else v1[++n2]=c; } for(int i = 1 ; i <= n1 ; ++i) cout << v[i] << ' '; for(int i = 1 ; i <= n2 ; ++i) cout << v1[i] << ' '; return 0; }
Comentarii