int main(void) { int m1[MAX][MAX]; int i, j, k = 1; /* Inicializa la matriz */ for (i = 0; i < MAX; i++) for (j = 0; j < MAX; j++, k++) m1[i][j] = k; int v; printf("Numero de volteretas:\n"); scanf("%d", &v); printf("\nMatriz original:\n"); mostrar(m1); putchar('\n'); for (i = 1; i <= v; i++) { printf("Voltereta numero %d\n", i); voltear(m1); putchar('\n'); } return 0; }
int main() { int vec[tam]; mostrar(vec); voltear(vec,0);printf("\n"); mostrar(vec); }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // comprueba si hay que actualizar alguna ficha // no comprueba que el movimiento realizado sea v?lido // f y c son la fila y columna a analizar int actualizar_tablero(char f, char c, char color, char tablero[][TAM_TABLERO]){ char SF, SC; //SF y SC son las cantidades a sumar para movernos en la direcci?n que toque int i, flip; for (i=0;i<TAM_TABLERO;i++){ // 0 es norte, 1 NE, 2 E... switch (i) { case 0: {SF = -1; SC = 0; break;} case 1: {SF = -1; SC = 1; break;} case 2: {SF = 0; SC = 1; break;} case 3: {SF = 1; SC = 1; break;} case 4: {SF = 1; SC = 0; break;} case 5: {SF = 1; SC = -1; break;} case 6: {SF = 0; SC = -1; break;} case 7: {SF = -1; SC = -1; break;} default: { // printf("error en actualizar_tablero \n"); return 0; } } //int antes = timer2_leer(); flip = patron_volteo_c(f, c, SF, SC,color, tablero); // flip indica las fichas a voltear //int despues = timer2_leer(); //despues = despues - antes; // printf("%d \n", flip); voltear(f, c, SF, SC, flip, color, tablero); }; return 0; }
void voltear(int v[],int i) { //printf("i->%d tam->%d\n",i,tam); if(i!=tam-1) { int aux = v[i]; v[i] = v[i+1]; v[i+1] = aux; voltear(v,i+1); } }