Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООП / C++ / Lab4C / CMatrix

.cpp
Скачиваний:
65
Добавлен:
18.02.2017
Размер:
2.11 Кб
Скачать
//Библиотеки ----------------------------------------------------------------
#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)
//---------------------------------------------------------------------------
Соседние файлы в папке Lab4C