SHARE
TWEET

lab6 PERFECT

VictoriaLodochkina Nov 15th, 2019 113 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "pch.h"
  2. #include <iostream>
  3. #define _USE_MATH_DEFINES
  4. #include <math.h>
  5. #include <vector>
  6. #include <algorithm>
  7. int main()
  8. {
  9.     using namespace std;
  10.     setlocale(LC_ALL, "Russian");
  11.     long n;
  12.     char ex = 'n';
  13.     do {
  14.         cout << "Введите номер задания: " << endl;
  15.         char task;
  16.         /*cin.ignore(100, '\n');*/
  17.         cin >> task;
  18.         switch (task)
  19.         {
  20.         case '1': {
  21.             int n;
  22.             cout << "Enter n:" << endl;
  23.             cin >> n;
  24.             double* mas;
  25.             mas = new double[n];
  26.             for (int i = 0; i < n; i++)
  27.             {
  28.                 cin >> mas[i];
  29.             }
  30.             double  min = mas[0];
  31.             int imin;
  32.             for (int i = 0; i < n; i++)
  33.             {
  34.                 if (mas[i] < min)
  35.                 {
  36.                     min = mas[i];
  37.                     imin = i;
  38.                 }
  39.             }
  40.             double t = mas[1];
  41.             for (int i = 1; i < imin; i++)
  42.             {
  43.                 mas[i] = mas[i + 1];
  44.             }
  45.             mas[imin - 1] = t;
  46.             cout << "new: " << endl;
  47.             for (int i = 0; i < n; i++)
  48.             {
  49.                 cout << mas[i] << " ";
  50.             }
  51.             delete[] mas;
  52.             break;
  53.         }
  54.         case '2': {
  55.             int n, imin, imax, t;
  56.             cout << "Enter n: " << endl;
  57.             cin >> n;
  58.             double* mas = new double[n];
  59.             for (int i = 0; i < n; i++)
  60.             {
  61.                 cin >> mas[i];
  62.             }
  63.             double max = mas[0];
  64.             double min = mas[0];
  65.             for (int i = 0; i < n; i++)
  66.             {
  67.                 if (mas[i] <= min)
  68.                 {
  69.                     min = mas[i];
  70.                     imin = i;
  71.                 }
  72.                 if (fabs(mas[i]) >= max)
  73.                 {
  74.                     max = fabs(mas[i]);
  75.                     imax = i;
  76.                 }
  77.             }
  78.             if (imax < imin)
  79.             {
  80.                 t = imin;
  81.                 imin = imax;
  82.                 imax = t;
  83.             }
  84.  
  85.             if (imin == imax)
  86.             {
  87.                 cout << "mas was not changed " << endl;
  88.                 for (int i = 0; i < n; i++)
  89.                 {
  90.                     cout << mas[i] << " ";
  91.                 }
  92.             }
  93.             else
  94.             {
  95.                 int b=0;
  96.                 for (int i = imin; i <= imax - 3; i++)
  97.                 {
  98.                     for (int j = imin + 1; j <= imax - 2 - b; j++)
  99.                         if (mas[j] < mas[j + 1])
  100.                         {
  101.                             int k = mas[j];
  102.                             mas[j] = mas[j + 1];
  103.                             mas[j + 1] = k;
  104.                         }
  105.                     b++;
  106.                 }
  107.                 cout << "new: " << 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] << " ";
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top