Добавил:
sergey123
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
//Библиотеки ----------------------------------------------------------------
#pragma hdrstop
#include "CMatrix.h"
#include "Matrix.h"
#include <stdlib.h>
#include <time.h>
//Конструктор заданных размеров ---------------------------------------------
CMatrix::CMatrix(int h, int w) {
srand(time(NULL));
Height = h;
Width = w;
Matrix = new int [Height * Width];
for (int i = 0; i < Height * Width; i++) {
Matrix[i] = rand() % 10;
}
Selected = false;
WS = Width * 9 - 2;
HS = Height * 12 + 2;
}
//Конструктор случайных размеров (2-6) --------------------------------------
CMatrix::CMatrix() {
srand(time(NULL));
Height = rand() % 5 + 2;
Width = rand() % 5 + 2;
Matrix = new int [Height * Width];
for (int i = 0; i < Height * Width; i++) {
Matrix[i] = rand() % 10;
}
Selected = false;
WS = Width * 9 - 2;
HS = Height * 12 + 2;
}
//Деструктор ----------------------------------------------------------------
CMatrix::~CMatrix() {
delete[] Matrix;
}
//Перегрузка оператора + ----------------------------------------------------
CMatrix CMatrix::operator+ (CMatrix Param) {
CMatrix Result (Param.Height, Param.Width);
for (int i = 0; i < Param.Height * Param.Width; i++) {
Result.Matrix[i] = Matrix[i] + Param.Matrix[i];
}
return (Result);
}
//Перезрузка оператора - ----------------------------------------------------
CMatrix CMatrix::operator- (CMatrix Param) {
CMatrix Result (Param.Height, Param.Width);
for (int i = 0; i < Param.Height * Param.Width; i++) {
Result.Matrix[i] = Matrix[i] - Param.Matrix[i];
}
return (Result);
}
//Перегрузка оператора * ----------------------------------------------------
CMatrix CMatrix::operator* (CMatrix Param) {
CMatrix Result (Param.Height, Param.Width);
for (int i = 0; i < Param.Height; i++) {
*(Result.Matrix + i) = *(Matrix + i) * *(Param.Matrix + i);
}
return Result;
}
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------