trabalho final aed2

395 palavras 2 páginas
#include
#include

struct nodo
{
int diametro; struct nodo *pproximo;
};
int i,j,pinoo,pinod,numpinos,numdiscos; char car; struct nodo *patual,*paux,*pinicio=NULL; void push (struct nodo *pnodo)
{
pnodo->pproximo = pinicio; pinicio = pnodo;
}
struct nodo* pop()
{
if ( pinicio == NULL ) { printf("O pino está vazio\n"); return NULL; } else { paux = pinicio; pinicio = paux->pproximo; return paux; }
}
struct nodo *lista[7]; void inserir(struct nodo *valor,int pos)
{
lista[pos]= valor;
}
struct nodo * remover(int pos)
{
return lista[pos];
}
void imprimir ()
{
for(i=0;idiametro==1) printf(" 0 \n"); if(patual->diametro==3) printf(" 000 \n"); if(patual->diametro==5) printf(" 00000 \n"); if(patual->diametro==7) printf(" 0000000 \n"); if(patual->diametro==9) printf("000000000\n"); patual=patual->pproximo; } } }
}
void carregarpinos ()
{
FILE *fp; if((fp=fopen("Documento.dat","r"))== NULL ) { printf("arquivo não lido\n"); exit(1); } numdiscos=0; for(i=0;idiametro==0) { free(pop()); numdiscos--; } numdiscos++; } } inserir(pinicio,i); } fclose(fp);
}
void verificarpinoo ()
{
while((remover(pinoo-1)==NULL)||(pinoonumpinos)) { printf("Pino de origem inválido.\n\nDigite outro pino de origem.\n"); scanf("%d",&pinoo); }
}
void verificarpinod ()
{
while(((pinodnumpinos)||(pinod==pinoo))&&(car=='s')) { printf("Pino de destino inválido.\nDeseja tentar outro pino de destino?(s/n)\n"); getchar(); car=getchar(); if(car=='s') { printf("Digite o número do pino de destino do movimento\n"); scanf("%d",&pinod); } } if((remover(pinod-1)!=NULL)&&(car=='s')) { while((remover(pinoo-1)->diametro > remover(pinod-1)->diametro)&&(car=='s')) { printf("Pino de destino inválido.\nDeseja tentar outro pino de destino?(s/n)\n");

Relacionados

  • Comunicação na WEB
    1897 palavras | 8 páginas
  • Ordenação Externa: Intercalação Polifásica
    1318 palavras | 6 páginas
  • Trabalho algoritmo
    1077 palavras | 5 páginas
  • Codigo java
    3354 palavras | 14 páginas
  • Plano Processo
    12178 palavras | 49 páginas
  • ACS 600 Firmware Portugu S
    59773 palavras | 240 páginas