2016-12-13 14:55:42 +00:00
|
|
|
#ifndef MTRXGAUD_H
|
|
|
|
#define MTRXGAUD_H
|
|
|
|
|
|
|
|
#include <CellElement.h>
|
|
|
|
#include <list.h>
|
|
|
|
|
|
|
|
/*---Matrix---
|
2016-12-13 14:12:55 +00:00
|
|
|
*Abstract type that describe a boolean matrix
|
2016-12-13 14:55:42 +00:00
|
|
|
*
|
|
|
|
*@colCount : the number of columns of the matrix
|
|
|
|
*@rowIndex : the number of rows of the matrix
|
|
|
|
*
|
|
|
|
*@rows : pointer on the first row that contains a true value
|
|
|
|
*@cols : pointer on the first col that contains a true value
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
typedef struct Matrix {
|
|
|
|
|
|
|
|
int colCount;
|
|
|
|
int rowCount;
|
|
|
|
|
|
|
|
List *cols;
|
|
|
|
List *rows;
|
|
|
|
|
|
|
|
}Matrix;
|
|
|
|
|
|
|
|
|
|
|
|
/*---applyRules---
|
|
|
|
*A function tha allows you to apply some rules n times on the matrix and returns it
|
|
|
|
*
|
|
|
|
*@matrix : A matrix on whitch you would apply the rules
|
|
|
|
*
|
|
|
|
*@Rules : Integer describing the rules
|
|
|
|
*
|
|
|
|
*@N : number of time the rules will be applied
|
|
|
|
*
|
|
|
|
*/
|
2016-12-13 16:28:13 +00:00
|
|
|
Matrix applyRules(Matrix matrix,int Rules, int N);
|
|
|
|
|
2016-12-23 22:58:08 +00:00
|
|
|
/**
|
|
|
|
*Create a void Matrix
|
|
|
|
*
|
|
|
|
*@return a matrix
|
|
|
|
*
|
|
|
|
*/
|
2016-12-13 16:28:13 +00:00
|
|
|
Matrix CreateMatrix();
|
2016-12-13 14:55:42 +00:00
|
|
|
|
2016-12-23 22:58:08 +00:00
|
|
|
/**
|
|
|
|
*Find and return the cell in the given matrix
|
|
|
|
*
|
|
|
|
*@param matrix the Matrix where we search
|
|
|
|
*@param ColPos an int indicating the column of the cell
|
|
|
|
*@param RowPos an int indicating the row of the cell
|
|
|
|
*
|
|
|
|
*@return a cellElement
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
cellElement * FindMatrixElem(Matrix matrix, int ColPos, int RowPos);
|
|
|
|
|
|
|
|
/**
|
|
|
|
*Create the cell in the given matrix
|
|
|
|
*
|
|
|
|
*@param matrix the Matrix
|
|
|
|
*@param ColPos an int indicating the column of the cell
|
|
|
|
*@param RowPos an int indicating the row of the cell
|
|
|
|
*
|
|
|
|
*@return void
|
|
|
|
*
|
|
|
|
*/
|
2016-12-24 12:53:04 +00:00
|
|
|
bool CreateMatrixElem(Matrix matrix, int ColPos, int RowPos);
|
2016-12-23 22:58:08 +00:00
|
|
|
|
|
|
|
int SupprMatrixElem(Matrix matrix, int ColPos, int RowPos);
|
|
|
|
|
2016-12-24 12:53:04 +00:00
|
|
|
bool SetCellValue(Matrix matrix, int ColPos, int RowPos, bool value);
|
2016-12-23 22:58:08 +00:00
|
|
|
|
|
|
|
bool GetCellValue(Matrix matrix, int ColPos, int RowPos);
|
2016-12-24 12:53:04 +00:00
|
|
|
|
2016-12-24 14:18:19 +00:00
|
|
|
Matrix SetMatrixDim(Matrix matrix,int nbCols,int nbRows);
|
|
|
|
|
|
|
|
void BasicPrintMatrix(Matrix matrix);
|
2016-12-24 12:53:04 +00:00
|
|
|
|
2016-12-13 14:55:42 +00:00
|
|
|
#endif
|
2016-12-13 14:12:55 +00:00
|
|
|
|