#ifndef TYPES_H #define TYPES_H #include #include #include #define VRAI 1 #define FAUX 0 #define INDEFINIE -10 #define VAR_MAX 30 #define VAL_MAX 20 /*Structures et nouveaux types*/ typedef int variable; typedef int domaines[VAL_MAX][VAR_MAX]; typedef int relations[VAL_MAX][VAL_MAX]; typedef relations *contrainte;// une contrainte: pointeur sur une relation typedef contrainte contraintes[VAR_MAX][VAR_MAX];//un tableau de contraintes:tab de pointeurs sur des relations typedef struct { domaines D; contraintes C; }couple; //declaration d'une variable de type csp typedef couple *CSP; CSP csp; //contrainte ctr;//relation tampon relations *rel; /*Variables globales*/ int NB_VAL; int NB_VAR; int consistant;//vrai tant que le systeme est consistant int dom_vide;//vrai si le domaine en question est vide int consistant;//VRAI tant que le systeme est consistant variable variable_courante; variable variable_suivante; int val_courante;//valeur de la variable courante int val_suivante;//valeur de la variable suivante int I[10];//l'interpretation courante(solution en cours de construction) /*marquage des valeurs déjà choisie: marque[i][j]=1 sig*/ /*pour la variable j la valeur i a ete choisie*/ int marque[20][10];// variable variables_instancies[10];//tableau memorisant les variables instanciées dens l'ordre int indice_var_instancies; #endif