Ir ao conteúdo
  • Cadastre-se

DarkWindG

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Tudo que DarkWindG postou

  1. o desempilhar funcionou agora, mas continua sem ideia de como fazer a função mostrar, tudo que achei na internet não funcionou.
  2. Estou com problema na hora de fazer um desempilhar e uma função que mostre todos os elementos, toda vez que faço da algum erro. os erros na ultima compilação são: "Há mais argumentos que o necessário na função 'int pop(Pilha*)' " e "Erro neste ponto do arquivo(no case 2)" #include <stdio.h> #include <stdlib.h> #include <iostream> #include <locale> using namespace std; typedef int Elemento; typedef struct nodo{ Elemento item; struct nodo *prox; }* No; typedef struct{ No topo; int tamanho; }Pilha; void inicializaPilha(Pilha *p){ p->topo=NULL; } void push(Pilha *p, Elemento ele){ No novoNo; novoNo = (nodo*) malloc(sizeof(struct nodo)); novoNo->item=ele; novoNo->prox=p->topo; p->topo=novoNo; } int pop(Pilha *p){ Elemento ele; No aux; if (p->topo!=NULL){ ele = p->topo->item; aux = p->topo; p->topo = p->topo->prox; free(aux); } else{ puts("A pilha está vazia - Underflow"); } return ele; } main() { Pilha B; No A; inicializaPilha(&B); int escolha, valor; while(escolha!=5){ cout <<"Empilhar"; cout <<"Desempilhar"; cin >> escolha; switch(escolha){ case 1: cout <<"Insira o valor:/n"; cin >> valor; push(&B,valor); break; case 2: cout <<"Valor removido/n"; pop(&B,valor); break } } return 0; }
  3. Consegui arrumar o problema, obrigado pela ajuda.
  4. Meu problema são os seguintes erros "PilhaAtividade7.cpp:75: error: cannot convert 'nodo**' to 'Pilha*' for argument '1' to 'void inicializaPilha(Pilha*)' " e "PilhaAtividade7.cpp:90: error: invalid conversion from 'int' to 'Pilha*' ". Esse segundo no caso é o : push(valor,&A); tenho que fazer uma Lista com alocação dinâmica de memoria, mas sempre da erro por causa do "No A;",que resulta nas linhas que precisam da variável a dar erro. agradeço desde já quem puder me ajudar. #include <stdio.h> #include <stdlib.h> #include <iostream> #include <locale> #define TAMMAX 5 using namespace std; typedef int Elemento; typedef struct nodo{ Elemento item; struct nodo *prox; }* No; typedef struct{ No topo; }Pilha; void inicializaPilha(Pilha *p){ p->topo=NULL; } void push(Pilha *p, Elemento ele){ No novoNo; novoNo = (nodo*) malloc(sizeof(struct nodo)); novoNo->item=ele; novoNo->prox=p->topo; p->topo=novoNo; } int pop(Pilha *p){ Elemento ele; No aux; if (p->topo!=NULL){ ele = p->topo->item; aux = p->topo; p->topo = p->topo->prox; free(aux); } else{ puts("A pilha está vazia - Underflow"); } return ele; } main() { No A; inicializaPilha(&A); int escolha, valor; while(escolha!=5){ cout <<"Inserir\n"; cin >> escolha; switch(escolha){ case 1: cout <<"Insira o valor:/n"; cin >> valor; push(valor,&A); break; } } return 0; }
  5. estou travado em um questão sobre sap-1 e queria saber se alguém pode me ajudar, segue ela: Sabendo-se que os endereços AH, BH e CH contém 70, 48 e 08 respectivamente. Descrever os tempos das instruções abaixo e qual será o valor do display. LDA AH SUB BH ADD CH OUT HLT agradeço a quem poder me ajudar
  6. Queria saber como eu coloco um menu no código, já tentei tudo que me vinha a cabeça e nada funcionou. Eu preciso adicionar um menu que faça a inserção e remoção de valores na lista no código que meu professor passou: #include <iostream> #include <locale> #include <stdlib.h> #define TAMMAX 5 using namespace std; typedef struct{ int FUNCIONARIOPESSOA[TAMMAX]; int FIM; }LISTA_arranjo; typedef struct { string nome; double salario; }funcionario; void INICIA_LISTA(LISTA_arranjo *L) { int i; for(i=0;i<TAMMAX;i++) { L->FUNCIONARIOPESSOA[i] = NULL; } L->FIM = 0; } void INSERE_LISTA(LISTA_arranjo *L, int E) { if(L->FIM == TAMMAX) { cout << "A Lista está cheia, impossível incluir!" << endl; } else { L->FUNCIONARIOPESSOA[L->FIM] = E; L->FIM++; } } int REMOVE_LISTA(LISTA_arranjo *L, int E) { if(L->FIM == 0) { cout << "A lista está vazia, impossível excluir!" << endl; return(0); } else { L->FIM--; int i, cont=0; while(cont <= L->FIM) { if(E == L->FUNCIONARIOPESSOA[cont]) { for(i=cont;i<L->FIM;i++) { L->FUNCIONARIOPESSOA[i] = L->FUNCIONARIOPESSOA[i+1]; } L->FUNCIONARIOPESSOA[L->FIM] = NULL; return(1); } else if(cont == L->FIM) { L->FIM++; return(0); } cont++; } } } void MOSTRA_LISTA(LISTA_arranjo *MOS) { cout << "O tamanho da Lista é: " << TAMMAX << endl; cout << "Existem " << MOS->FIM << " elementos na Lista" << endl << endl; for(int i=0;i<MOS->FIM;i++) { cout << "Posição: " << i << " Elemento: " << MOS->FUNCIONARIOPESSOA[i] << endl; } } int main() { setlocale(LC_ALL, "Portuguese"); LISTA_arranjo LIS; INICIA_LISTA(&LIS); INSERE_LISTA(&LIS,1); INSERE_LISTA(&LIS,2); INSERE_LISTA(&LIS,1); INSERE_LISTA(&LIS,4); INSERE_LISTA(&LIS,5); cout << LIS.FIM << endl; INSERE_LISTA(&LIS,6); if(REMOVE_LISTA(&LIS,1) == 0) { cout << "2 não foi encontrato." << endl; } else { cout << "2 foi removido da Lista." << endl; } MOSTRA_LISTA(&LIS); system("PAUSE"); return(0); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!