Ir para conteúdo
Fórum Script Brasil

diogotal

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre diogotal

diogotal's Achievements

0

Reputação

  1. Hola galera, preciso de uma forcinha Meu professor pediu para escrever em uma pilha os valores multiplos de 5 entre 0 - 75. Mostrar na tela a pilha e eliminar um valor escolhido pelo usuario e ir mostrando a pilha conforme vai excluindo os valores. Exemplo: 1 2 Quero excluir o 2 2 3 3 3 4 4 4 <-- Assim ficaria a pilha no final 5 5 5 #include <iostream> using namespace std; const int MAX=75; int pilha[MAX]; int tope = 0; int pilha_tamanho(){ return tope+1; } bool pilha_vazia(){ return !tope; } bool pilha_cheia() { return tope == MAX; } bool push (int valor){ if (pilha_cheia()) return false; pilha[tope] = valor; tope++; return true; } bool pop(int &valor){ if (pilha_vazia()){ return false; }else{ int valor = pilha[tope-1]; tope--; return true; } } int main() { int valor, i, num; cout<<"Empilhar"<<endl; for (valor=0; valor<=75; valor++){ if ((valor%5)==0){ push(valor); } } for(i=0; i<tope; i++){ cout<<pilha[i]<<endl; } cout<<"\nCual numero desea quitar de la pila: "; cin>>num; while(num==pilha[i]){ cout<<pop(valor)<<endl; } /* Para desempilhar tudo cout<<"Desempilhar"<<endl; while(!pilha_vazia()) { cout<<pop()<<endl; }*/ cout<<"\nTamanho da pilha: "<<pilha_tamanho(); return 0; }
  2. Boa tarde, Tenho que fazer um programa em C++ que leia os caracteres de meu nome, imprima a pilha e depois imprima o inverso da pilha. O professor passou alguns algoritmos e pediu para fazermos isso, dei uma pesquisada na internet, alguns videos e cheguei no codigo abaixo, mas, tenho alguns erros que não encontro, ou algo de errado que estou fazendo. alguém pode me ajudar? Obs.: com numeros inteiros consegui fazer, mas com char.... #include <iostream> #include <conio.h> #include <stdio.h> #include <stdlib.h> using namespace std; int const MAX=1000; int pilha[MAX]; int tope; int pilha_tamanho(){ return tope+1; } bool pilha_vazia(){ if (tope==-1) return true; else return false; } bool pilha_cheia(){ if (tope==MAX-1) return true; else return false; } bool push (char &nom){ if (pilha_cheia()){ return false; }else{ pilha[tope]=nom; tope++; return true; } } bool pop (char nom){ if (pilha_vazia()){ return false; }else{ nom=pilha[tope]; tope--; return true; } } int main(){ int valor, i; char nom; cout<<"Empilhar"<<endl; push('d'); push('i'); push('o'); push('g'); push('o'); for(i=0; i<5; i++){ cout<<pilha[i]<<endl<<endl; } cout<<"Desempilhar"<<endl; while(pop(nom)){ cout<<valor<<endl<<endl; } cout<<"Tamanho da pilha: "<<pilha_tamanho(); return 0; }
×
×
  • Criar Novo...