Advertisement
Guest User

Untitled

a guest
Dec 10th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <Windows.h>
  4.  
  5. using namespace std;
  6.  
  7. template <class Type>
  8. class List
  9. {
  10. public:
  11.     List() : listSize(0) {}
  12.     ~List() {}
  13.     bool operator!()
  14.     {
  15.         if (listSize == 0) return true;
  16.         else return false;
  17.     }
  18.     void pushBack(Type obj)
  19.     {
  20.         list[listSize] = obj;
  21.         listSize++;
  22.     }
  23.     void pushStart(Type obj)
  24.     {
  25.         for (int i = listSize - 1; i >= 0; i--)
  26.             list[i + 1] = list[i];
  27.         list[0] = obj;
  28.         listSize++;
  29.     }
  30.     void pop()
  31.     {
  32.         listSize--;
  33.     }
  34.     void print()
  35.     {
  36.         if (!(*this))
  37.         {
  38.             cout << "Список пуст\n";
  39.             return;
  40.         }
  41.         for (int i = 0; i < listSize; i++)
  42.         {
  43.             cout << list[i] << ", ";
  44.         }
  45.         cout << endl;
  46.     }
  47.     int count(Type obj)
  48.     {
  49.         int j = 0;
  50.         for (int i = 0; i < listSize; i++)
  51.             if (list[i]==obj)
  52.                 j++;
  53.         return j;
  54.     }
  55.     int listSize;
  56. protected:
  57.     Type list[100];
  58. };
  59.  
  60. int main()
  61. {
  62.     SetConsoleCP(1251);
  63.     SetConsoleOutputCP(1251);
  64.     List<char> charlist;
  65.     List<int> intlist;
  66.     int buf;
  67.     char charbuf;
  68.     int loop = 1;
  69.     while (true)
  70.     {
  71.         system("cls");
  72.         cout << "1.Список целых чисел\n2.Список символов\n3.Выйти\n";
  73.         switch (_getch())
  74.         {
  75.         case '1':
  76.             loop = 1;
  77.             while (loop)
  78.             {
  79.                 system("cls");
  80.                 cout << "1.Добавить в начало\n2.Добавить в конец\n3.Удалить последний\n4.Подсчитать кол-во вхождений\n5.Вывести\n6.Выйти\n";
  81.                 switch (_getch())
  82.                 {
  83.                 case '1':
  84.                     cout << "Число -> ";
  85.                     cin >> buf;
  86.                     intlist.pushStart(buf);
  87.                     break;
  88.                 case '2':
  89.                     cout << "Число -> ";
  90.                     cin >> buf;
  91.                     intlist.pushBack(buf);
  92.                     break;
  93.                 case '3':
  94.                     intlist.pop();
  95.                     break;
  96.                 case '4':
  97.                     cout << "Число -> ";
  98.                     cin >> buf;
  99.                     cout << "Кол-во вхождений -> ";
  100.                     cout << intlist.count(buf) << endl;
  101.                     system("pause");
  102.                     break;
  103.                 case '5':
  104.                     intlist.print();
  105.                     system("pause");
  106.                     break;
  107.                 case '6':
  108.                     loop = 0;
  109.                     break;
  110.                 }
  111.             }
  112.             break;
  113.         case '2':
  114.             loop = 1;
  115.             while (loop)
  116.             {
  117.                 system("cls");
  118.                 cout << "1.Добавить в начало\n2.Добавить в конец\n3.Удалить последний\n4.Подсчитать кол-во вхождений\n5.Вывести\n6.Выйти\n";
  119.                 switch (_getch())
  120.                 {
  121.                 case '1':
  122.                     cout << "Символ -> ";
  123.                     cin >> charbuf;
  124.                     charlist.pushStart(charbuf);
  125.                     break;
  126.                 case '2':
  127.                     cout << "Символ -> ";
  128.                     cin >> charbuf;
  129.                     charlist.pushBack(charbuf);
  130.                     break;
  131.                 case '3':
  132.                     charlist.pop();
  133.                     break;
  134.                 case '4':
  135.                     cout << "Символ -> ";
  136.                     cin >> charbuf;
  137.                     cout << "Кол-во вхождений = ";
  138.                     cout << charlist.count(charbuf) << endl;
  139.                     system("pause");
  140.                     break;
  141.                 case '5':
  142.                     charlist.print();
  143.                     system("pause");
  144.                     break;
  145.                 case '6':
  146.                     loop = 0;
  147.                     break;
  148.                 }
  149.             }
  150.             break;
  151.         case '3':
  152.             return 0;
  153.         }
  154.     }
  155.     return 0;
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement