1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
typedef enum{
FREE,
NOIR,
BLANC
}PION;
typedef struct s_data{
unsigned int **pIMap;
unsigned int icpt_free;
unsigned int icpt_noir;
unsigned int icpt_blanc;
}ts_Data;
int main( void ){
unsigned int i = 0;
unsigned int j = 0;
ts_Data data;
data.icpt_free = 0;
data.icpt_noir = 0;
data.icpt_blanc = 0;
data.pIMap = NULL;
/* ! Controle de l'allocation à faire */
data.pIMap = (unsigned int**)calloc(COL, sizeof(unsigned int*));
for( i = 0; i < COL; i++ ){
data.pIMap[i] = (unsigned int*)calloc(LIG, sizeof(unsigned int) );
}
/* Ajout des pions noir */
for( i = 0; i < COL; i+=2 ){
for( j = 0; j < LIG; j+=2 ){
data.pIMap[i][j] = NOIR;
}
}
/* Ajout des pions blanc */
for( i = 0; i < COL; i+=3 ){
for( j = 0; j < LIG; j+=3 ){
data.pIMap[i][j] = BLANC;
}
}
/* Conpteur des pions blanc, noir & case libre */
for( i = 0; i < COL; i++ ){
for( j = 0; j < LIG; j++ ){
if( data.pIMap[i][j] == NOIR )
data.icpt_noir+=1;
else if( data.pIMap[i][j] == BLANC )
data.icpt_blanc+=1;
else
data.icpt_free+=1;
}
}
/* Affichage des pions sur la carte */
for( i = 0; i < COL; i++ ){
for( j = 0; j < LIG; j++ ){
printf("%d\t", data.pIMap[i][j] );
}
printf("\n");
}
/* Résultat du comptage des pion et cellule libre */
printf("\nNombre de case libre\t(%3d)\n", data.icpt_free );
printf("\nNombre de pion noir\t(%3d)\n", data.icpt_noir );
printf("\nNombre de pion blanc\t(%3d)\n", data.icpt_blanc );
return ( EXIT_SUCCESS );
} |
Partager