Savelyev_Vyacheslav

OOP L6

Aug 6th, 2021 (edited)
993
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.72 KB | None | 0 0
  1. // ООП_6.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3.  
  4. #define _CRT_SECURE_NO_WARNINGS
  5. #include <iostream>
  6. using namespace std;
  7.  
  8. template <class T>
  9. void repetitions(T* matrix, int n)
  10. {
  11.     int countMax = 0;
  12.     T temp;
  13.     for (int i = 0; i < n; i++)
  14.     {
  15.         int count = 0;
  16.         matrix[i];
  17.         for (int j = 0; j < n; j++)
  18.         {
  19.             if (matrix[i] == matrix[j]) {
  20.                 count++;
  21.             }
  22.         }
  23.         if (countMax < count) {
  24.             countMax = count;
  25.             temp = matrix[i];
  26.         }
  27.     }
  28.     cout << "Значение матрицы - '"<< temp <<"'повторялось максимальное раз = "<< countMax << endl;
  29.     return;
  30. }
  31.  
  32. template <class T>
  33. void add(T* matrix, int n)
  34. {
  35.     cout << "Введите матрицу:" << endl;
  36.     for (int i = 0; i < n; i++)
  37.     {
  38.         cin >> matrix[i];
  39.     }
  40.     return;
  41. }
  42.  
  43. template <class T>
  44. void show(T* matrix, int n)
  45. {
  46.     for (int i = 0; i < n; i++)
  47.     {
  48.         cout << matrix[i] << ' ';
  49.         cout << endl;
  50.     }
  51. }
  52.  
  53. template <class T>
  54. void del(T* matrix, int n)
  55. {
  56.     delete[] matrix;
  57. }
  58.  
  59. int main()
  60. {
  61.     setlocale(LC_ALL, "Russian");
  62.     int i;
  63.     while (1)
  64.     {
  65.         cout << "Введите цифру:" << endl;
  66.         cout << "1 - Тип int" << endl;
  67.         cout << "2 - Тип float" << endl;
  68.         cout << "3 - Тип double" << endl;
  69.         cout << "4 - Выход" << endl;
  70.         cin >> i;
  71.         switch (i)
  72.         {
  73.         case 1:
  74.         {
  75.             int n;
  76.             cout << "Введите размерность матрицы: " << endl;
  77.             cin >> n;
  78.             int* matrix = new int [n];
  79.             add(matrix, n);
  80.             cout << "Поиск повторений ... " << endl;
  81.             repetitions(matrix, n);
  82.             show(matrix, n);
  83.             del(matrix, n);
  84.             break;
  85.         }
  86.         case 2:
  87.         {
  88.             int n;
  89.             cout << "Введите размерность матрицы: " << endl;
  90.             cin >> n;
  91.             float* matrix = new float [n];
  92.             add(matrix, n);
  93.             cout << "Поиск повторений ... " << endl;
  94.             repetitions(matrix, n);
  95.             show(matrix, n);
  96.             del(matrix, n);
  97.             break;
  98.         }
  99.         case 3:
  100.         {
  101.             int n;
  102.             cout << "Введите размерность матрицы: " << endl;
  103.             cin >> n;
  104.             double* matrix = new double [n];
  105.             add(matrix, n);
  106.             cout << "Поиск повторений ... " << endl;
  107.             repetitions(matrix, n);
  108.             show(matrix, n);
  109.             del(matrix, n);
  110.             break;
  111.         }
  112.         case 4: return 0;
  113.         }
  114.     }
  115. }
  116.  
  117.  
  118. // Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
  119. // Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
  120.  
  121. // Советы по началу работы
  122. //   1. В окне обозревателя решений можно добавлять файлы и управлять ими.
  123. //   2. В окне Team Explorer можно подключиться к системе управления версиями.
  124. //   3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
  125. //   4. В окне "Список ошибок" можно просматривать ошибки.
  126. //   5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
  127. //   6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.
  128.  
Add Comment
Please, Sign In to add comment