Advertisement
VictoriaLodochkina

lab 8 allllllllll

Dec 3rd, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.41 KB | None | 0 0
  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 = new double*[n];
  25.             for (int i = 0; i < n; i++)
  26.                 mas[i] = new double[n];
  27.             for (int i = 0; i < n; i++)
  28.                 for (int j = 0; j < n; j++)
  29.                     cin >> mas[i][j];
  30.             double sum = 0;
  31.             int m = 0;
  32.             vector < double > mas2(m);
  33.             int k = 0;
  34.             for (int i = 0; i < n; i++)
  35.             {
  36.                 for (int j = 0; j < n; j++)
  37.                 {
  38.                     if (((i <= j / 2) && (j >= n / 2) && (j - i >= n / 2)) || ((i >= n / 2) && (j >= n / 2) && (j - n + i + 1 >= n / 2)))
  39.                     {   //mas[j][i] = 1;
  40.                         mas2.insert(mas2.begin() + k, mas[j][i]);
  41.                         //mas2[k] = mas[j][i];
  42.                         //sum += mas[j][i];
  43.                         k++;
  44.                     }
  45.                 }
  46.             }
  47.             for (int i = 0; i < mas2.size(); i++)
  48.             {
  49.                 cout << mas2[i] << "  ";
  50.             }
  51.             cout << endl;
  52.             /*for (int i = 0; i < mas2.size() - 1; i++)
  53.             {
  54.                 sort(mas2.begin(), mas2.end());
  55.             }*/
  56.             int l = 0;
  57.             for (int i = 0; i < mas2.size(); i++)
  58.             {
  59.                 l = 0;
  60.                 double t;
  61.                 for (int j = 0; j < mas2.size(); j++)
  62.                 {
  63.                     if (mas2[i] == mas2[j])
  64.                     {
  65.                         l++;
  66.                         t = mas2[i];
  67.                     }
  68.                 }
  69.                 /*if (l > 1)
  70.                 {   //далее с этого места вырезать все значения мас 2 итое
  71.                     for (int h = 0; h < mas2.size(); h++)
  72.                     {
  73.                         if (mas2[h] == t)
  74.                         {
  75.                             mas2.erase(mas2.begin() + h);
  76.                         }
  77.                     }
  78.                     sum -= l * t;
  79.                 }*/
  80.                 if (l == 1)
  81.                 {
  82.                     sum += t;
  83.                 }
  84.             }
  85.             cout << "Your result: " << sum << endl;
  86.             break;
  87.         }
  88.         case '2': {
  89.             int n, m;
  90.             cout << "Enter n, m: " << endl;
  91.             cin >> n >> m;
  92.             double* * mas = new double*[n];
  93.             for (int i = 0; i < n; i++)
  94.                 mas[i] = new double[m];
  95.             for (int i = 0; i < n; i++)
  96.                 for (int j = 0; j < m; j++)
  97.                     cin >> mas[i][j];
  98.             //удалить память под масссив!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  99.             int maxi, maxj;
  100.             double max = mas[0][0];
  101.             for (int i = 0; i < n; i++)
  102.             {
  103.                 for (int j = 0; j < m; j++)
  104.                 {
  105.                     if (mas[i][j] > max)
  106.                     {
  107.                         max = mas[i][j];
  108.                         maxi = i;
  109.                         maxj = j;
  110.                     }
  111.                 }
  112.             }
  113.             for (int i = 0; i < maxi; i++)
  114.             {
  115.                 for (int j = 0; j < m; j++)
  116.                 {
  117.                     int tmp = mas[maxi - i][j];
  118.                     mas[maxi - i][j] = mas[maxi - i - 1][j];
  119.                     mas[maxi - i - 1][j] = tmp;
  120.                 }
  121.             }
  122.             for (int i = 0; i < n; i++)
  123.             {
  124.                 for (int j = 0; j < maxj; j++)
  125.                 {
  126.                     int tmp = mas[i][maxj - j];
  127.                     mas[i][maxj - j] = mas[i][maxj - j - 1];
  128.                     mas[i][maxj - j - 1] = tmp;
  129.                 }
  130.             }
  131.             cout << "Your result: " << endl;
  132.             for (int i = 0; i < n; i++)
  133.             {
  134.                 cout << endl;
  135.                 for (int j = 0; j < m; j++)
  136.                     cout << mas[i][j] << " ";
  137.             }
  138.             cout << endl;
  139.             break;
  140.         }
  141.         default: {cout << "Нет такой задачи.\n"; } break;
  142.         }
  143.         cout << "Если вы хотите выйти, нажмите \'y\', в противном случае-любую другую клавишу" << endl;
  144.         cin.ignore(100, '\n');
  145.         cin >> ex;
  146.     } while (ex != 'y');
  147.     return 0;
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement