Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <Windows.h>
- using namespace std;
- template <class Type>
- class List
- {
- public:
- List() : listSize(0) {}
- ~List() {}
- bool operator!()
- {
- if (listSize == 0) return true;
- else return false;
- }
- void pushBack(Type obj)
- {
- list[listSize] = obj;
- listSize++;
- }
- void pushStart(Type obj)
- {
- for (int i = listSize - 1; i >= 0; i--)
- list[i + 1] = list[i];
- list[0] = obj;
- listSize++;
- }
- void pop()
- {
- listSize--;
- }
- void print()
- {
- if (!(*this))
- {
- cout << "Список пуст\n";
- return;
- }
- for (int i = 0; i < listSize; i++)
- {
- cout << list[i] << ", ";
- }
- cout << endl;
- }
- int count(Type obj)
- {
- int j = 0;
- for (int i = 0; i < listSize; i++)
- if (list[i]==obj)
- j++;
- return j;
- }
- int listSize;
- protected:
- Type list[100];
- };
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- List<char> charlist;
- List<int> intlist;
- int buf;
- char charbuf;
- int loop = 1;
- while (true)
- {
- system("cls");
- cout << "1.Список целых чисел\n2.Список символов\n3.Выйти\n";
- switch (_getch())
- {
- case '1':
- loop = 1;
- while (loop)
- {
- system("cls");
- cout << "1.Добавить в начало\n2.Добавить в конец\n3.Удалить последний\n4.Подсчитать кол-во вхождений\n5.Вывести\n6.Выйти\n";
- switch (_getch())
- {
- case '1':
- cout << "Число -> ";
- cin >> buf;
- intlist.pushStart(buf);
- break;
- case '2':
- cout << "Число -> ";
- cin >> buf;
- intlist.pushBack(buf);
- break;
- case '3':
- intlist.pop();
- break;
- case '4':
- cout << "Число -> ";
- cin >> buf;
- cout << "Кол-во вхождений -> ";
- cout << intlist.count(buf) << endl;
- system("pause");
- break;
- case '5':
- intlist.print();
- system("pause");
- break;
- case '6':
- loop = 0;
- break;
- }
- }
- break;
- case '2':
- loop = 1;
- while (loop)
- {
- system("cls");
- cout << "1.Добавить в начало\n2.Добавить в конец\n3.Удалить последний\n4.Подсчитать кол-во вхождений\n5.Вывести\n6.Выйти\n";
- switch (_getch())
- {
- case '1':
- cout << "Символ -> ";
- cin >> charbuf;
- charlist.pushStart(charbuf);
- break;
- case '2':
- cout << "Символ -> ";
- cin >> charbuf;
- charlist.pushBack(charbuf);
- break;
- case '3':
- charlist.pop();
- break;
- case '4':
- cout << "Символ -> ";
- cin >> charbuf;
- cout << "Кол-во вхождений = ";
- cout << charlist.count(charbuf) << endl;
- system("pause");
- break;
- case '5':
- charlist.print();
- system("pause");
- break;
- case '6':
- loop = 0;
- break;
- }
- }
- break;
- case '3':
- return 0;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement