mirror of
https://gitlab.com/klmp200/LO27.git
synced 2024-11-26 20:34:13 +00:00
Commencé matrices, l'exe ne veut plus se lancer pour des questions de build
This commit is contained in:
parent
dba704e4e7
commit
3a91f0655a
@ -15,7 +15,7 @@ typedef enum Bool{
|
|||||||
|
|
||||||
|
|
||||||
/*---cellElement---
|
/*---cellElement---
|
||||||
*Pointer on a cell of the matrix
|
*A cell of the matrix
|
||||||
*
|
*
|
||||||
*@colIndex : index (int) of the column of this cell
|
*@colIndex : index (int) of the column of this cell
|
||||||
*@rowIndex : index (int) of the row of this cell
|
*@rowIndex : index (int) of the row of this cell
|
||||||
|
@ -7,7 +7,7 @@ INCLUDEDIR=-I/usr/include -I.
|
|||||||
|
|
||||||
#Library variables
|
#Library variables
|
||||||
LIBTARGET=libAutomaton.so
|
LIBTARGET=libAutomaton.so
|
||||||
LIBSOURCE=list CellElement
|
LIBSOURCE=list CellElement matrix
|
||||||
LIBSOURCECFILE=$(LIBSOURCE:=.c)
|
LIBSOURCECFILE=$(LIBSOURCE:=.c)
|
||||||
LIBSOURCEOFILE=$(LIBSOURCE:=.o)
|
LIBSOURCEOFILE=$(LIBSOURCE:=.o)
|
||||||
|
|
||||||
|
41
LibAutomaton/Matrix.h
Normal file
41
LibAutomaton/Matrix.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#ifndef MTRXGAUD_H
|
||||||
|
#define MTRXGAUD_H
|
||||||
|
|
||||||
|
#include <CellElement.h>
|
||||||
|
#include <list.h>
|
||||||
|
|
||||||
|
/*---Matrix---
|
||||||
|
*Abstract type that describe a boolean matrix
|
||||||
|
*
|
||||||
|
*@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
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Matrix applyRules (Matrix matrix,int Rules, int N);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
22
LibAutomaton/matrix.c
Normal file
22
LibAutomaton/matrix.c
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <Matrix.h>
|
||||||
|
|
||||||
|
Matrix applyRules (Matrix matrix,int Rules, int N){
|
||||||
|
int pow = 2;
|
||||||
|
int i = 0;
|
||||||
|
if (Rules <= 0){
|
||||||
|
return matrix;
|
||||||
|
} else {
|
||||||
|
while (Rules%pow == 0 ){
|
||||||
|
pow*=2;
|
||||||
|
}
|
||||||
|
for (i=0;i<N;i++){
|
||||||
|
printf("Apply rule %d \n",Rules%pow);
|
||||||
|
/*Replace it by the implementation of the rules*/
|
||||||
|
}
|
||||||
|
|
||||||
|
applyRules(matrix,Rules - Rules%pow,N);
|
||||||
|
}
|
||||||
|
return matrix;
|
||||||
|
}
|
18
main.c
18
main.c
@ -8,12 +8,22 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <CellElement.h>
|
#include <Matrix.h>
|
||||||
#include <list.h>
|
|
||||||
|
|
||||||
int main(int argc, char **argv){
|
int main(int argc, char **argv){
|
||||||
|
Matrix matrix;
|
||||||
|
int Rule = 170;
|
||||||
|
int N = 1;
|
||||||
|
applyRules (matrix,Rule,N);
|
||||||
|
/*
|
||||||
|
Matrix matrix;
|
||||||
cellElement * tree = NULL;
|
cellElement * tree = NULL;
|
||||||
|
List * cols = NULL;
|
||||||
|
List * rows = NULL;
|
||||||
|
|
||||||
|
cols = CreateList();
|
||||||
|
rows = CreateList();
|
||||||
|
|
||||||
|
|
||||||
tree = CreateCellElem();
|
tree = CreateCellElem();
|
||||||
SetPositionIndex(tree,1,1);
|
SetPositionIndex(tree,1,1);
|
||||||
@ -33,7 +43,7 @@ int main(int argc, char **argv){
|
|||||||
removeNextCol(tree);
|
removeNextCol(tree);
|
||||||
|
|
||||||
recursivePrint(tree);
|
recursivePrint(tree);
|
||||||
|
*/
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user