Files
2026-06-12 20:49:22 +02:00

114 lines
3.4 KiB
C

#include <stdio.h>
#define W 0
#define Y 1
#define O 2
#define R 3
#define B 4
#define G 5
typedef struct Cube {
int front[3][3];
int back[3][3];
int top[3][3];
int bottom[3][3];
int right[3][3];
int left[3][3];
} Cube;
void initialize(Cube *cube) {
for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
cube->front[i][j] = W;
cube->back[i][j] = Y;
cube->top[i][j] = O;
cube->bottom[i][j] = R;
cube->right[i][j] = B;
cube->left[i][j] = G;
}
}
}
void print(Cube *cube) {
char colors[] = {'W', 'Y', 'O', 'R', 'B', 'G'};
printf(" %c, %c, %c, \n", colors[cube->back[0][0]], colors[cube->back[0][1]], colors[cube->back[0][2]]);
printf(" %c, %c, %c, \n", colors[cube->back[1][0]], colors[cube->back[1][1]], colors[cube->back[1][2]]);
printf(" %c, %c, %c, \n", colors[cube->back[2][0]], colors[cube->back[2][1]], colors[cube->back[2][2]]);
printf("\n");
printf(" %c, %c, %c, \n", colors[cube->top[0][0]], colors[cube->top[0][1]], colors[cube->top[0][2]]);
printf(" %c, %c, %c, \n", colors[cube->top[1][0]], colors[cube->top[1][1]], colors[cube->top[1][2]]);
printf(" %c, %c, %c, \n", colors[cube->top[2][0]], colors[cube->top[2][1]], colors[cube->top[2][2]]);
printf("\n");
printf("%c, %c, %c, ", colors[cube->left[0][0]], colors[cube->left[0][1]], colors[cube->left[0][2]]);
printf("%c, %c, %c, ", colors[cube->front[0][0]], colors[cube->front[0][1]], colors[cube->front[0][2]]);
printf("%c, %c, %c, ", colors[cube->right[0][0]], colors[cube->right[0][1]], colors[cube->right[0][2]]);
printf("\n");
printf("%c, %c, %c, ", colors[cube->left[1][0]], colors[cube->left[1][1]], colors[cube->left[1][2]]);
printf("%c, %c, %c, ", colors[cube->front[1][0]], colors[cube->front[1][1]], colors[cube->front[1][2]]);
printf("%c, %c, %c, ", colors[cube->right[1][0]], colors[cube->right[1][1]], colors[cube->right[1][2]]);
printf("\n");
printf("%c, %c, %c, ", colors[cube->left[2][0]], colors[cube->left[2][1]], colors[cube->left[2][2]]);
printf("%c, %c, %c, ", colors[cube->front[2][0]], colors[cube->front[2][1]], colors[cube->front[2][2]]);
printf("%c, %c, %c, ", colors[cube->right[2][0]], colors[cube->right[2][1]], colors[cube->right[2][2]]);
printf("\n\n");
printf(" %c, %c, %c, \n", colors[cube->bottom[0][0]], colors[cube->bottom[0][1]], colors[cube->bottom[0][2]]);
printf(" %c, %c, %c, \n", colors[cube->bottom[1][0]], colors[cube->bottom[1][1]], colors[cube->bottom[1][2]]);
printf(" %c, %c, %c, \n", colors[cube->bottom[2][0]], colors[cube->bottom[2][1]], colors[cube->bottom[2][2]]);
printf("----------------------------\n");
}
void rotate_90(int mat[3][3]) {
// Rotate the single face
int temp[3][3];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
temp[j][3-1-i] = mat[i][j];
}
}
for(int i=0;i<3;i++) {
for(int j=0;j<3;j++) {
mat[i][j] = temp[i][j];
}
}
// Rotate the other 4 faces
}
void main (){
Cube cube;
initialize(&cube);
cube.back[0][1]=3;
cube.back[2][2]=4;
print(&cube);
//rotate_90(cube.back);
print(&cube);
// rotate_90(cube.back);
print(&cube);
}