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