Cerinţa
Se dau cel mult 100000
de numere naturale, cu cel mult 2
cifre fiecare. Afişaţi în ordine strict crescătoare valorile impare care se regăsesc printre valorile date, şi în ordine strict descrescătoare valorile pare care se regăsesc printre valorile date.
Date de intrare
Fişierul de intrare pareimpare.in
conţine cel mult 100000
de numere naturale, cu cel mult 2
cifre fiecare, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieşire
Fişierul de ieşire pareimpare.out
va conţine pe prima linie şirul valorilor impare, separate printr-un spaţiu, iar pe a doua linie şirul valorilor pare, separate printr-un spaţiu.
Restricţii şi precizări
- în fişierul de intrare se află cel puţin un număr par şi cel puţin un număr impar;
Exemplu
pareimpare.in
75 12 3 3 18 75 1 3
pareimpare.out
1 3 75 18 12
#include <bits/stdc++.h> using namespace std; ifstream fin("pareimpare.in"); ofstream fout("pareimpare.out"); int main() { int n=1 , p1=1 , p2=1; int a[100000], b[100000], c[100000]; b[0]=-1 , c[0]=-1; while(fin >> a[n]) n++; for(int i = 1 ; i < n ; ++i) { if(a[i]%2==0) { b[p1]=a[i]; p1++; } if(a[i]%2==1) { c[p2]=a[i]; p2++; } } sort(c+1 , c+p2); for(int i = 1 ; i < p2 ; ++i) { if(c[i]!=c[i-1]) fout << c[i] << ' '; } fout << endl; sort(b+1 , b+p1); for(int i = p1-1 ; i > 0 ; --i) { if(b[i-1]!=b[i]) fout << b[i] << ' '; } fin.close(); fout.close(); return 0; }