fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <list>
  4. #include <time.h>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. const int n=21;
  11. int m[n];
  12. srand(time(0));
  13. cout<<"Massiv M:\n";
  14. for(int i=0;i<n;i++)
  15. {
  16. m[i]=rand() % 1000; //диапазон для наглядности
  17. cout<<"m["<<i<<"]= "<<m[i]<<endl;
  18. }
  19.  
  20. /////////////////////////////////////////////////////
  21. list<int> tmpN; //создаём список для сортировки
  22.  
  23. copy_if(begin(m), end(m), back_inserter(tmpN), [](const int x){ return x%2; }); //нечётные числа
  24.  
  25. tmpN.sort([](const int a, const int b){ return a > b; }); //по убыванию
  26.  
  27. cout << "Нечётные числа (" << tmpN.size() << " - элементов): ";
  28.  
  29. for(int i : tmpN) //вывод
  30. cout << i << ' ';
  31.  
  32. tmpN.clear(); //очистка списка
  33.  
  34. copy_if(begin(m), end(m), back_inserter(tmpN), [](const int x){ return (x+1)%2; }); //чётные числа
  35.  
  36. tmpN.sort([](const int a, const int b){ return a < b; }); //по возрастанию
  37.  
  38. cout << "\nЧётные числа(" << tmpN.size() << " - элементов): ";
  39.  
  40. for(int i : tmpN) //вывод
  41. cout << i << ' ';
  42.  
  43. //////////////////////////////////////////////////////////
  44. return 0;
  45. }
Success #stdin #stdout 0s 4424KB
stdin
Standard input is empty
stdout
Massiv M:
m[0]= 404
m[1]= 250
m[2]= 232
m[3]= 486
m[4]= 317
m[5]= 518
m[6]= 322
m[7]= 88
m[8]= 738
m[9]= 3
m[10]= 914
m[11]= 971
m[12]= 491
m[13]= 732
m[14]= 651
m[15]= 810
m[16]= 635
m[17]= 644
m[18]= 283
m[19]= 150
m[20]= 671
Нечётные числа (8 - элементов): 971 671 651 635 491 317 283 3 
Чётные числа(13 - элементов): 88 150 232 250 322 404 486 518 644 732 738 810 914