// PROYECTO 2 /* EL CERO ES EL ESPACIO ======================= 13 5 11 4 7 6 8 10 9 3 1 12 2 14 15 0 si queremos mover el 12 ==> 12 <enter> 13 5 11 4 7 6 8 10 9 3 1 0 2 14 15 12 ==> 0 (se termina el programa) ==> 8 <enter> < MOVIMIENTO NO VALIDO > 13 5 11 4 7 6 8 10 9 3 1 0 2 14 15 12 ==> 1 <enter> 13 5 11 4 7 6 8 10 9 3 0 1 2 14 15 12 ==> 8 <enter> 13 5 11 4 7 6 0 10 9 3 8 1 2 14 15 12 ==> 0 $_ */ #include <stdio.h> #include <stdlib.h> struct nodo { int numero; struct nodo *arr, *aba, *izq, *der; }; suponiendo que se mueve el 8 13 5 11 4 10 6 8 3 9 7 0 1 2 14 15 12 ==> 8 <enter> el 8 está en L2P3 está el 0 en L1P3 ==> if ( L2P3->arr == 0 ) SE MUEVE else if ( L2P3->aba == 0 ) SE MUEVE else if ( L2P3->izq == 0 ) SE MUEVE else if ( L2P3->der == 0 ) SE MUEVE else printf("<MOVIMIENTO NO VALIDO>"); PERO SI SE QUISIERA MOVER EL 12 13 5 11 4 10 6 8 3 9 7 0 1 2 14 15 12 ==> 12 <enter> ==> if ( L4P4->arr == 0 ) SE MUEVE else ( L4P4->izq == 0) SE MUEVE else printf("<MOVIMIENTO NO VALIDO>");