void alteraLista(Lista *original, Lista *alterada) { destroyLista(alterada); Fila letras; iniciaFila(&letras); Pilha numeros; iniciaPilha(&numeros); // analisa os elementos da lista original struct elementoLista *aux = original->inicio; while(aux != NULL) { if(isalpha(aux->info)) enfileira(&letras, aux->info); else if(isdigit(aux->info)) empilha(&numeros, aux->info); else printf("Invalid character (%c).\n", aux->info); aux = aux->next; } //adiciona os valores a lista alterada while(emptyFila(&letras) != 1) pushBackLista(alterada, desenfileira(&letras)); while(sizePilha(&numeros) != 0) pushBackLista(alterada, desempilha(&numeros)); destroyFila(&letras); destroyPilha(&numeros); }
int main(){ srand((unsigned) time(NULL)); //para alterar o preenchimento da matriz matriz *m = iniciaMatriz(); setor *jogador = iniciaSetor(); pilha *p = iniciaPilha(); preencheMatrizCom01(m); imprimeMatriz(m); comecaJogo(jogador); printf("Posição do jogador : x = %d y = %d\n", getXJogador(jogador), getYJogador(jogador)); while(!fimDeJogo(jogador)){ mover(jogador, m, p); } if(getXJogador(jogador) == 9&& getYJogador(jogador) == 9) //jogo bem sucedido imprimeMatriz(m); //imprime o caminho free(m); free(jogador); free(p); return 0; }