Ir para conteúdo
Fórum Script Brasil

Amanda Ferreira

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Amanda Ferreira postou

  1. Alguém poderia me ajudar? Estou com um trabalho de Estrutura de dados para fazer, mas estou tendo muita dificuldade... Eu tentei fazer, mas não consigo concluir :/ Implemente uma função DecBin que faça uso da estrutura de pilha para efetuar a conversão de um valor decimal para binário. #include<stdio.h> #include<stdlib.h> #define MAXTAM 1000 typedef struct pilha1 { int Pilha [MAXTAM]; int Topo; }pilha1; void Pilha_Construtor(pilha1*p) { p->Topo = -1; //porque 0 é uma posição no vetor } int Pilha_Vazia(pilha1*p) //bool valor booleano, verdadeiro ou falso { if (p->Topo==-1) return 0; else return 1; } int Pilha_Push (pilha1*p, int valor) //Inserir { if (p->Topo==MAXTAM-1) { return 0; } else { p->Topo++; p->Pilha[p->Topo] = valor; return 1; } } int Pilha_Pop (pilha1*p, int valor) //Desempelhar, retirar elemento { if (p->Topo==MAXTAM-1 ) { return -1; } else { valor==p->Pilha[p->Topo]; p->Topo--; return p->Pilha[p->Topo+1]; } } int menu() { int op; printf("**** PILHAS ****\n\n"); printf("Escolha uma das opcoes\n"); printf("1.Empilhar\n"); printf ("2. Converter para binário \n"); printf("3.Sair\n"); printf("Opcao: "); scanf("%d",&op); return op; }// fim menu void DecBin(pilha1 *p, int valor) { Pilha_Construtor(p); int x; if (valor >= 2) { do{ x = valor % 2; Pilha_Push(p, x); valor =valor / 2; } while (valor >= 2); } x = valor % 2; Pilha_Push(p, x); int tam = p->Topo; for (int i = 0; i <= tam; i++) { printf (" %d ", Pilha_Pop(p)); } } main() { pilha1 pi; Pilha_Construtor(&pi); int valor,op; do { op = menu(); switch(op) { case 1: printf ("Valor a empilhar: "); scanf ("%d",&valor); if(Pilha_Push(&pi,valor)==1) printf ("Valor %d empilhado!", valor); else printf ("Pilha cheia!"); break; case 2: break; case 3: printf("Saindo....\n"); break; default: printf("Opcao invalida..."); } getch(); system("cls"); while(op!=2); } }
×
×
  • Criar Novo...