Advertisement
VictoriaLodochkina

lab6 all

Nov 8th, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.82 KB | None | 0 0
  1. #include <iostream>
  2. #define _USE_MATH_DEFINES
  3. #include <math.h>
  4. #include <vector>
  5. #include <algorithm>
  6. int main()
  7. {
  8.     using namespace std;
  9.     setlocale(LC_ALL, "Russian");
  10.     long n;
  11.     char ex = 'n';
  12.     do {
  13.         cout << "Введите номер задания: " << endl;
  14.         char task;
  15.         /*cin.ignore(100, '\n');*/
  16.         cin >> task;
  17.         switch (task)
  18.         {
  19.         case '1': {
  20.             int n;
  21.             cout << "Enter n:" << endl;
  22.             cin >> n;
  23.             double* mas;
  24.             mas = new double[n];
  25.             for (int i = 0; i < n; i++)
  26.             {
  27.                 cin >> mas[i];
  28.             }
  29.             double  min = mas[0];
  30.             int imin;
  31.             for (int i = 0; i < n; i++)
  32.             {
  33.                 if (mas[i] < min)
  34.                 {
  35.                     min = mas[i];
  36.                     imin = i;
  37.                 }
  38.             }
  39.             double t = mas[1];
  40.             for (int i = 1; i < imin; i++)
  41.             {
  42.                 mas[i] = mas[i + 1];
  43.             }
  44.             mas[imin - 1] = t;
  45.             cout << "new: " << endl;
  46.             for (int i = 0; i < n; i++)
  47.             {
  48.                 cout << mas[i] << endl;
  49.             }
  50.             delete[] mas;
  51.             break;
  52.         }
  53.         case '2': {
  54.             int n, imin, imax, t;
  55.             cout << "Enter n: " << endl;
  56.             cin >> n;
  57.             double* mas = new double[n];
  58.             for (int i = 0; i < n; i++)
  59.             {
  60.                 cin >> mas[i];
  61.             }
  62.             double max = mas[0];
  63.             double min = mas[0];
  64.             for (int i = 0; i < n; i++)
  65.             {
  66.                 if (mas[i] <= min)
  67.                 {
  68.                     min = mas[i];
  69.                     imin = i;
  70.                 }
  71.                 if (fabs(mas[i]) >= max)
  72.                 {
  73.                     max = fabs(mas[i]);
  74.                     imax = i;
  75.                 }
  76.             }
  77.             if (imax < imin)
  78.             {
  79.                 t = imin;
  80.                 imin = imax;
  81.                 imax = t;
  82.             }
  83.  
  84.             if (imin == imax)
  85.             {
  86.                 cout << "mas was not changed " << endl;
  87.                 for (int i = 0; i < n; i++)
  88.                 {
  89.                     cout << mas[i];
  90.                 }
  91.             }
  92.             else
  93.             {
  94.                 int b;
  95.                 for (int i = imin; i <= imax - 3; i++)
  96.                 {
  97.                     for (int j = imin + 1; j <= imax - 2 - b; j++)
  98.                         if (mas[j] < mas[j + 1])
  99.                         {
  100.                             int k = mas[j];
  101.                             mas[j] = mas[j + 1];
  102.                             mas[j + 1] = k;
  103.                         }
  104.                     b++;
  105.                 }
  106.                 cout << "new: " << endl;
  107.                 cout << imin << endl << imax << endl;
  108.                 for (int i = 0; i < n; ++i)
  109.                 {
  110.                     cout << mas[i];
  111.                 }
  112.             }
  113.             delete[] mas;
  114.             break;
  115.         }
  116.         case '3': {
  117.             int k = 0;
  118.             int* mas = nullptr, *mas2 = nullptr;
  119.             int n;
  120.             cout << "Enter n: " << endl;
  121.             cin >> n;
  122.             int t;
  123.             cout << "Enter t: " << endl;
  124.             cin >> t;
  125.             mas = new int[n];
  126.             cout << "Enter mas: " << endl;
  127.             for (int i = 0; i < n; i++)
  128.             {
  129.                 cin >> mas[i];
  130.                 if (mas[i] % 5 == 0)
  131.                 {
  132.                     k++;
  133.                 }
  134.             }
  135.             mas2 = new int[n + k];
  136.             for (int i = 0, j = 0; i < (n + k); i++)
  137.             {
  138.                 mas2[j++] = mas[i];
  139.                 if (mas[i] % 5 == 0)
  140.                 {
  141.                     mas2[j++] = t;
  142.                 }
  143.             }
  144.             cout << "New:" << endl;
  145.             for (int i = 0; i < (n + k); i++)
  146.             {
  147.                 cout << mas2[i] << endl;
  148.             }
  149.             delete[] mas;
  150.             break;
  151.         }
  152.         case '12': {
  153.             int n;
  154.             cout << "enter n:" << endl;
  155.             cin >> n;
  156.             int imin;
  157.             vector <double> v(n);
  158.             for (int i = 0; i < v.size(); i++)
  159.             {
  160.                 cin >> v[i];
  161.             }
  162.             double min = v[0];
  163.             for (int i = 0; i < v.size(); i++)
  164.             {
  165.                 if (v[i] < min)
  166.                 {
  167.                     min = v[i];
  168.                     imin = i;
  169.                 }
  170.             }
  171.             double t = v[1];
  172.             v.erase(v.begin() + 1);
  173.             v.insert(v.begin() + imin - 1, t);
  174.             for (int i = 0; i < v.size(); i++)
  175.             {
  176.                 cout << v[i] << "  ";
  177.             }
  178.             break;
  179.         }
  180.         case '22': {
  181.             int n;
  182.             cout << "enter n:" << endl;
  183.             cin >> n;
  184.             int imin, imax;
  185.             vector <double> v(n);
  186.             for (int i = 0; i < v.size(); i++)
  187.             {
  188.                 cin >> v[i];
  189.             }
  190.             double min = v[0];
  191.             double max = v[0];
  192.             for (int i = 0; i < v.size(); i++)
  193.             {
  194.                 if (v[i] < min)
  195.                 {
  196.                     min = v[i];
  197.                     imin = i;
  198.                 }
  199.                 if (fabs(v[i]) > max)
  200.                 {
  201.                     max = v[i];
  202.                     imax = i;
  203.                 }
  204.             }
  205.             int t;
  206.             if (imin > imax)
  207.             {
  208.                 t = imin;
  209.                 imin = imax;
  210.                 imax = t;
  211.             }
  212.             if (imin == imax)
  213.             {
  214.                 cout << "(mas was not changed)" << endl;
  215.                 for (int i = 0; i < v.size(); i++)
  216.                 {
  217.                     cout << v[i] << "  ";
  218.                 }
  219.             }
  220.             else
  221.             {
  222.                 sort(v.begin() + imin + 1, v.end() - (v.size() - imax), greater<double>());
  223.                 cout << "new: " << endl;
  224.                 for (int i = 0; i < v.size(); i++)
  225.                 {
  226.                     cout << v[i] << "  ";
  227.                 }
  228.             }
  229.             break;
  230.         }
  231.         case '32': {
  232.             int n, t;
  233.             cout << "enter n:" << endl;
  234.             cin >> n;
  235.             cout << "enter t:" << endl;
  236.             cin >> t;
  237.             int imin;
  238.             vector <int> v(n);
  239.             for (int i = 0; i < v.size(); i++)
  240.             {
  241.                 cin >> v[i];
  242.             }
  243.             for (int i = 0; i < v.size(); i++)
  244.             {
  245.                 if (v[i] % 5 == 0)
  246.                 {
  247.                     v.insert(v.begin() + i + 1, t);
  248.                 }
  249.             }
  250.             for (int i = 0; i < v.size(); i++)
  251.             {
  252.                 cout << v[i] << "  ";
  253.             }
  254.             return 0;
  255.             break;
  256.         }
  257.         default: {cout << "Нет такой задачи.\n"; } break;
  258.         }
  259.         cout << "Если вы хотите выйти, нажмите \'y\', в противном случае-любую другую клавишу" << endl;
  260.         cin.ignore(100, '\n');
  261.         cin >> ex;
  262.     } while (ex != 'y');
  263.     return 0;
  264. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement