Oi, 'FabioElvis'! Conta a história direito. Explique o exercício. Com base nisso te ensinarei o conceito e como desenvolver o algorítimo.   Boa tarde Denis, é o seguinte tenho uma entrada 2, 1, 3, 4, 12, 13, 14, 5, 11, 0, 15, 6, 10, 9, 8, 7 e um vetor bi-dimensional int vetor [4][4], consegui a primeira parte do codigo declarar o vetor e imprimi-lo, agora preciso começar a movimentar o zero, mas estou bem perdido nisso. Se puder me ajudar eu agradeço. Ai vai o começo do codigo nem sei se esta certo, mas a principio para imprimir a matriz esta valendo.  Abraço  # include <stdio.h> /*Imprimindo a Matriz Inicial*/ int main() {     int puzzle[4][4] = {{2,3,4,0},                        {1,5,7,8},                        {9,6,10,12},                        {13,14,11,15}};     int i; /*Linha*/     int j; /*Coluna*/     for(i = 0; i < 4; i++)        for(j = 0; j < 4; j++)          printf("Linha: [%d] Coluna: [%d] = %d\n", i, j, puzzle[j]);        return(0); }