// PascalABC.Net
// Первая программа, если необходимо выбрать нечетные элементы и их отсортировать.
begin
var a := ArrRandom(10);
writeln('Исходный массив: ');
a.PrintLn(', ');
writeln('Отсортированный массив нечетных элементов: ');
a.Where(e -> e mod 2 <> 0).OrderBy(e -> e).Print(', ');
end.
// Вторая программа, если необходимо в исходном массиве отсортировать нечетные значения
begin
var a := ArrRandom(10);
writeln('Исходный массив: ');
a.PrintLn(', ');
writeln('Отсортированный массив нечетных элементов: ');
var odd := a.Select((e, i) -> (i, e)).Where(e -> e[1] mod 2 <> 0).OrderBy(e -> e[1]);
var sortedOdd := odd.Zip(odd.Select(e -> e[0]).OrderBy(e -> e), (f, s) -> (s, f[1]));
foreach var e in sortedOdd do
a[e[0]] := e[1];
a.PrintLn(', ');
end.
#include <iostream>
#include <vector>
#include <cmath>
#include <set>
using namespace std;
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
signed main() {
set<pair<int,int>> s;
int n;
cin >> n;
vector<int> a(n);
for(int &i:a)
cin >> i;
int m;
cin >> m;
while(m--){
int x,y;
cin >> x >> y;
s.insert({x,y});
s.insert({y,x});
}
for(int i = 0; i < n; i++)
for(int j = 0; j < n - i - 1; j++)
if(a[j] > a[j+1] && s.find({a[j],a[j+1]}) == s.end())
swap(a[j],a[j+1]);
for(int &i:a)
cout << i << " ";
}
avast (всегда предлагает улучшить но мы можем зарегистрироваться и остаться на бесплатной версии)
ccliner (предлагает отблагодарить, но мы можем бесплатно пользоваться)
Total Commander (Предлагает купить полную версию (аналогично как winrar))