Se citeşte un număr par N apoi se citesc N numere întregi . Afişaţi şirul citit . Ordonați crescător toate elementele de pe pozițiile pare din şir afişând apoi şirul după această ordonare. Ordonați descrescător toate elementele de pe pozitiile impare din şir. afişând apoi şirul astfel ordonat . Ex. N=6 şirul 2, 9, 3, 6, 4,7 se afişează şirul 2, 6, 3, 7, 4, 9 apoi şirul 4, 6,3,7,2,9
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
// Citim numarul N
int N;
cin >> N;
// Citim elementele din sir
int a[N];
for (int i = 0; i < N; i++) {
cin >> a[i];
}
// Afisam sirul initial
cout << "Sirul initial: ";
for (int i = 0; i < N; i++) {
cout << a[i] << " ";
}
cout << endl;
// Sortam elementele de pe pozitiile pare crescator
sort(a, a + N, [](int x, int y) {
return (x % 2 == 0) && (y % 2 == 0) && (x < y);
});
// Afisam sirul sortat
cout << "Sirul sortat dupa pozitiile pare: ";
for (int i = 0; i < N; i++) {
cout << a[i] << " ";
}
cout << endl;
// Sortam elementele de pe pozitiile impare descrescator
sort(a, a + N, [](int x, int y) {
return (x % 2 == 1) && (y % 2 == 1) && (x > y);
});
// Afisam sirul sortat
cout << "Sirul sortat dupa pozitiile impare: ";
for (int i = 0; i < N; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}