Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <cmath>
- #include <math.h>
- using namespace std;
- class Container {
- protected:
- vector <int> mas;
- public:
- virtual void sort() = 0;
- virtual void foreach() = 0;
- virtual void print() = 0;
- };
- class Bubble : public Container {
- public:
- Bubble() {
- mas.clear();
- }
- Bubble(int n) {
- cout << "Enter massiv: ";
- int temp = 0;
- for (int i = 0; i < n; i++) {
- cin >> temp;
- mas.push_back(temp);
- }
- cout << endl;
- }
- ~Bubble() {
- mas.clear();
- }
- void sort() {
- for (int i = mas.size() - 1; i >= 0; i--) {
- for (int j = 0; j < i; j++) {
- if (mas[j] > mas[j+1]) {
- int temp = mas[j];
- mas[j] = mas[j + 1];
- mas[j + 1] = temp;
- }
- }
- }
- }
- void foreach() {
- for (int i = 0; i < mas.size(); i++) {
- mas[i] = (int)sqrt(mas[i]);
- }
- }
- void print() {
- for (int i = 0; i < mas.size(); i++) {
- cout << mas[i] << ' ';
- }
- cout << endl;
- }
- };
- class Choice : public Container {
- public:
- Choice() {
- mas.clear();
- }
- Choice(int n) {
- cout << "Enter the second massive: ";
- int temp = 0;
- for (int i = 0; i < n; i++) {
- cin >> temp;
- mas.push_back(temp);
- }
- cout << endl;
- }
- ~Choice() {
- mas.clear();
- }
- void sort() {
- for (int i = 0; i < mas.size() - 1; i++) {
- int min_i = i;
- for (int j = i + 1; j < mas.size(); j++) {
- if (mas[j] < mas[min_i]) {
- min_i = j;
- }
- }
- int temp = mas[i];
- mas[i] = mas[min_i];
- mas[min_i] = temp;
- }
- }
- void foreach() {
- for (int i = 0; i < mas.size(); i++) {
- mas[i] = (int)log(mas[i]);
- }
- }
- void print() {
- for (int i = 0; i < mas.size(); i++) {
- cout << mas[i] << ' ';
- }
- cout << endl;
- }
- };
- int main() {
- setlocale(LC_ALL, "Russian");
- int n;
- cout << "Vvedite razmernost' massiva: ";
- cin >> n;
- label : Choice c(n);
- Bubble b(n);
- char choice;
- cout << "Vvedite s kakim massivom rabotat'(1 - pervii, 2 - vtoroi): ";
- cin >> choice;
- if (choice == '1') {
- c.sort();
- c.print();
- c.foreach();
- c.print();
- } else if (choice == '2') {
- b.sort();
- c.print();
- b.foreach();
- b.print();
- } else {
- char choice_final;
- cout << "Enter the final solution(Exit or Not): ";
- cin >> choice_final;
- if (choice_final == 'n') {
- goto label;
- } else {
- system("pause");
- return 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment