Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
10.06.2024
Размер:
241.69 Кб
Скачать

5 КОД ПРОГРАММЫ

Программная реализация алгоритмов для решения задачи представлена

ниже.

5.1 Файл main.cpp

Листинг 1 – main.cpp

#include <iostream> #include "MyClass.h" using namespace std;

MyClass func(int size) { MyClass loc(size); return loc;

}

int main() { int size; cin >> size;

if (size <= 2 || size % 2 !=0) { cout << size << "?";

return 0;

}

cout << size; cout << endl; MyClass obj1; obj1 = func(size); cout << endl; obj1.Create(); obj1.Input(); obj1.Prod();

MyClass obj2 = obj1; obj2.SumPara(); obj1.Print();

cout << endl << obj1.Sum() << endl; obj2.Print();

cout << endl << obj2.Sum();

}

19

5.2 Файл MyClass.cpp

Листинг 2 – MyClass.cpp

#include <iostream> using namespace std; #include "MyClass.h" MyClass::MyClass() {

cout << "Default constructor" << endl; mas = nullptr;

}

MyClass::MyClass(int n) { cout << "Constructor set"; mas = new int [n]; this->n = n;

}

MyClass::MyClass(const MyClass& obj) { cout << "Copy constructor" << endl; n = obj.n;

mas = new int[n];

for (int i = 0; i<n;i++) { mas[i] = obj.mas[i];

}

}

MyClass::~MyClass() {

cout << endl << "Destructor"; if (mas != nullptr) {

delete[] mas;

}

}

void MyClass::Create() { mas = new int[n];

}

void MyClass::Input() { int x;

for (int i = 0; i<n;i++) { cin>>x;

mas[i] = x;

}

}

void MyClass::SumPara() {

for (int i = 0; i < n; i += 2) { mas[i] = mas[i] + mas[i+1];

}

}

void MyClass::Prod() {

for (int i = 0; i < n; i += 2) { mas[i] = mas[i] * mas[i+1];

}

}

int MyClass::Sum() { int s = 0;

for (int i = 0; i < n; i++) { s += mas[i];

20

}

return s;

}

void MyClass::Print() {

for (int i =0; i<n; i++) { cout << mas[i];

if (i!= n - 1){ cout << " ";

}

}

}

5.3 Файл MyClass.h

Листинг 3 – MyClass.h

#ifndef __MYCLASS__H #define __MYCLASS__H class MyClass { private:

int n; int *mas;

public:

MyClass(); MyClass(int n);

MyClass(const MyClass& obj); ~MyClass();

void Create(); void Input(); void SumPara(); void Prod(); int Sum(); void Print();

};

#endif

21

Соседние файлы в папке Упражнение