ДЗ: Курс Объектно-ориентированное программирование (ИДДО ОП-Б-4-1-Экз). КМ-4. Более сложные элементы программирования. вариант 2
Описание
КМ представлена в виде отчета Word. Код проекта содержится в файле, можно воссоздать / переделать проект под себя.
СОДЕРЖАНИЕ
СЕМИНАР №3.
1. Условие индивидуальной задачи.
2. Словесное пояснение смысла полей и методов класса.
3. Консольное приложение с классами.
4. Тесты, подтверждающие правильность работы программы.
5. Ответы на вопросы.
Пример содержимого отчета:
Словесное пояснение смысла полей и методов класса.
Ниже представлена Таблица 1 со словесным пояснением смысла полей и методов класса Matrix.
Таблица 1 – Словесное пояснение смысла полей и методов класса Matrix
Тип | Название | Описание |
Класс Matrix | ||
Поле | _rows | Количество строк. |
_cols | Количество столбцов. | |
_name | Буквенное обозначение матрицы. | |
_data | Динамический двумерный массив чисел типа int для матрицы. | |
Метод | Matrix(rows, cols, name) | Конструктор с параметрами rows, cols, name. |
Matrix(const Matrix& other) | Конструктор копирования | |
~Matrix() | Деструктор для автоматического удаления матрицы. | |
input() | Заполнение пользователем матрицы. | |
output() | Вывод матрицы. | |
getMinIndexes() | Расчет минимального значения и его индексов, возвращает массив содержащий индексы и значение элемента. | |
multiply(const Matrix& matrix, const Vector& vector, Vector& result) | Дружественная функция умножения матрицы на вектор |
Консольное приложение с классами.
Ниже представлен код программы.
#include
using namespace std;
// Заранее объявленный класс Vector, чтобы класс Matrix мог его видеть
class Vector;
// Класс Матрица
class Matrix
{
private:
// Двумерный массив
int** _data;
// Количество строк
int _rows;
// Количество столбцов
int _cols;
// Буквенное обозначение матрицы
char _name;
public:
// Конструктор с параметрами
Matrix(int rows, int cols, char name);
// Конструктор копирования
Matrix(constMatrix& other);
// Деструктор
~Matrix();
// Заполнение пользователем матрицы
voidinput();
// Вывод матрицы
voidoutput() const;
// Возвращает массив с индексами минимального числа и его значением
// Пример: [2, 1, 15]
int* getMinIndexes() const;
// Дружественная функция умножения матрицы на вектор
friend void multiply(const Matrix& matrix, const Vector& vector, Vector& result);
};
//..//-
Тесты, подтверждающие правильность работы программы.
Ниже представлен скриншот работы программы (Рисунок 1).
Рисунок 1 – Полное выполнение программы