Esto es lo que llevo hasta ahora .
Esta hecho en Dev c++ , pero es C .
Código
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #define TAM 12 void ordenado (int,int,int M[TAM][TAM]); void desordenar (int,int,int M[TAM][TAM]); void jugar (int,int,int M[TAM][TAM]); main () { int u=0; int i,x,a=1,menu; int M[TAM][TAM]; int columnas,filas; do { if(filas<3 || filas>12) { } } while (filas<3 || filas>12); do { if(columnas<3 || columnas>12) { } } while (columnas<3 || columnas >12); ordenado (filas,columnas,M); desordenar (filas,columnas,M); jugar (filas,columnas,M); } //------------------------------------------------------------------------------- void ordenado (int filas,int columnas, int M[TAM][TAM]) { int i,x,a=1;; for (i=0;i<filas;i++) { for (x=0;x<columnas;x++) { if ((i==filas-1) && (x==columnas-1)) { M[i][x]=0; } else { M[i][x]=a; a++; } } } for (i=0;i<filas;i++) { for (x=0;x<columnas;x++) { if ((i==filas-1) && (x==columnas-1)) { } else } } } //-------------------------------------------------------------------------------- void desordenar (int filas,int columnas,int M[TAM][TAM]) { int i,x,g,temp,y; temp = (filas*columnas)-1; for(i=0; i<filas; i++) { for(g=0; g<columnas; g++) { M[i][g] = 0; } } for(i=1; i<=temp; i++) { do { } while(M[y][x]); M[y][x]=i; } for(i=0; i<filas; i++) { for(g=0; g<columnas; g++) { if (M[i][g]==0) { } else { } } } } //----------------------------------------------------------------------- void jugar(int filas, int columnas, int M[TAM][TAM]) { int movimiento=0; int auxFila=0; int auxColumna=0; int aux=0; int aux2=0; double tiempoTotal=0; do { for(int x=0; x<filas; x++) { for(int y=0; y<columnas; y++) { if(M[x][y]==0) { auxFila=x; auxColumna=y; } else { } } } do { }while((movimiento!=72)&&(movimiento!=75)&&(movimiento!=77)&&(movimiento!=80)); switch(movimiento) { case 72: { if(auxFila+1==filas) { } else { aux2=auxFila+1; aux=M[auxFila][auxColumna]; M[auxFila][auxColumna]=M[aux2][auxColumna]; M[aux2][auxColumna]=aux; } break; } case 77: { if(auxColumna-1==-1) { } else { aux2=auxColumna-1; aux=M[auxFila][auxColumna]; M[auxFila][auxColumna]=M[auxFila][aux2]; M[auxFila][aux2]=aux; } break; } case 75: { if(auxColumna+1==columnas) { } else { aux2=auxColumna+1; aux=M[auxFila][auxColumna]; M[auxFila][auxColumna]=M[auxFila][aux2]; M[auxFila][aux2]=aux; } break; } case 80: { if(auxFila-1==-1) { } else { aux2=auxFila-1; aux=M[auxFila][auxColumna]; M[auxFila][auxColumna]=M[aux2][auxColumna]; M[aux2][auxColumna]=aux; } break; } } } while(!ordenado(filas,columnas,M)); }
Cuando trato de compilar me da este error
in function void jugar (int,int,int(*)[12])
could no convert ordenado (filas,columnas,M) to bool
in argument to unary !
Por favor hay alguien que me pueda ayudar ?