fbpx

Problema #1423 – VocaleVector – Rezolvari PBInfo

de Mihai-Alexandru

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

S-ar putea sa iti placa