środa, 29 listopada 2017

00017 - 1055 - Parzyste nieparzyste - www.pl.spoj.com

Treść zadania:
Wczytaj ciąg liczb. Następnie wypisz wczytane liczby w taki sposób, aby najpierw pojawiły się te, które wystąpiły na pozycjach parzystych, a następnie te, które wystąpiły na pozycjach nieparzystych; z zachowaniem pierwotnej kolejności w obrębie obu grup. Numerujemy od 1.

Wejście
Najpierw t - liczba testów. Następnie dla każdego testu liczba n i n liczb, n <= 100.

Wyjście
Dla każdego testu n liczb w opisanym porządku.

Przykład

Wejście:
2
4 1 2 3 5
3 9 8 7

Wyjście:
2 5 1 3
8 9 7


Kod źródłowy w C:
#include <stdio.h>

int main()
{
    int input[101];
    int t, i, q;
    scanf("%d",&t);
    while(t != 0)
    {
        scanf("%d",&q);
        for(i=1; i<=q; ++i)
        {
            scanf("%d",&input[i]);
        }
        for(i=1; i<=q; ++i)
        {
            if(i%2==0)
            {
                printf("%d ",input[i]);
            }
        }
        for(i=1; i<=q; ++i)
        {
            if(i%2!=0)
            {
                printf("%d ",input[i]);
            }
        }
        printf("\n");
        --t;
    }
    return 0;
}


Kod źródłowy w C++:
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int input[101];
    int t, i, q;
    cin>>t;
    while(t--)
    {
        cin>>q;
        for(i=1; i<=q; ++i)
        {
            cin>>input[i];
        }
        for(i=1; i<=q; ++i)
        {
            if(i%2==0)
            {
                cout<<input[i]<<" ";
            }
        }
        for(i=1; i<=q; ++i)
        {
            if(i%2!=0)
            {
                cout<<input[i]<<" ";
            }
        }
        cout<<endl;
    }
    return 0;
}


Źródło: http://pl.spoj.com/problems/PP0602A/

Brak komentarzy:

Prześlij komentarz