Ir para conteúdo
Fórum Script Brasil

Gobila

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que Gobila postou

  1. conseguir depois d ter passado muito tempo batendo cabeça e posta aqui eu tive uma ideia que resolveu o problema então agradeço o interece d quem quis ajudar se alguém tive o mesmo problema no futuro aqui ta a resposta Eu coloquei uma variavel com um vetor a mais EX char pilha [10] ficou char pilha [11] ai ta o codigo pra quem quiser ver OBS: se for iserir novamente os elementos você ira iserir todos novamente assim substituindo os antigos(caso exista algum apos a exclução dos mesmos) #include <cstdlib> #include <iostream> #include <string.h> #include <vector> #include <conio.h> #define clrscr system ("cls") using namespace std; int i; int opcao= 1; char pilha[11][100]; void mostrar (){ clrscr; cout<<"Mostrar Pilha"<<endl; for (i=9;i>=0;i--){ cout<<"[ "<<pilha[i]<<" ]"<<endl; } cout<<endl<<endl; } void inserir(){ clrscr; cout<<"Adicionar"<<endl; cout<<"Digite o Elemento"<<endl; for(i=0;i<10;i++){ cin>>pilha[i]; } } void retirar(){ clrscr; cout<<"Retirar"<<endl; cout<<"Retirdo"<<pilha[9]; cout<<endl; strcpy(pilha[9],pilha[8]); strcpy(pilha[8],pilha[7]); strcpy(pilha[7],pilha[6]); strcpy(pilha[6],pilha[5]); strcpy(pilha[5],pilha[4]); strcpy(pilha[4],pilha[3]); strcpy(pilha[3],pilha[2]); strcpy(pilha[2],pilha[1]); strcpy(pilha[1],pilha[0]); strcpy(pilha[0],pilha[11]); } int main(int argc,char *argv[]){ while(opcao != 0){ cout<<"Escolha de opcao "<<endl; cout<<"[1] - Mostrar Fila"<<endl; cout<<"[2] - Inserir Elemento na Fila"<<endl; cout<<"[3] - Retirar Elemento da Fila"<<endl; cout<<"[0] - Sair"<<endl; cin>>opcao; if (opcao == 1){mostrar();} if (opcao == 2){inserir();} if (opcao == 3){retirar();} } system("pause"); return EXIT_SUCCESS; }
  2. O meu problema é que presciso fazer uma pilha onde possa adicionar, remover e mostrar os elementos a parte de inserir e mostra eu conseguir mas não to conseguindo deixa a possição da fila vazia quando removo um elemento ele apenas repete o ultimo. void retirar(){ clrscr; cout<<"Retirar"<<endl; cout<<"Retirdo"<<pilha[9]; cout<<endl; strcpy(pilha[9],pilha[8]); strcpy(pilha[8],pilha[7]); strcpy(pilha[7],pilha[6]); strcpy(pilha[6],pilha[5]); strcpy(pilha[5],pilha[4]); strcpy(pilha[4],pilha[3]); strcpy(pilha[3],pilha[2]); strcpy(pilha[2],pilha[1]); strcpy(pilha[1],pilha[0]); strcpy(pilha[0]==NULL; To usando a função strcpy para passa um elemeto de uma possição pra outra mas quando chego na possição 0 ela deve fica vazia mas não sei como fazer já tentei usa NULL mas não deu certo abaixo o codigo completo desde já agradeço a atenção #include <cstdlib> #include <iostream> #include <string.h> #include <vector> #include <conio.h> #define clrscr system ("cls") using namespace std; int i; int opcao= 1; char pilha[10][100]; void mostrar (){ clrscr; cout<<"Mostrar Pilha"<<endl; for (i=9;i>=0;i--){ cout<<"[ "<<pilha[i]<<" ]"<<endl; } cout<<endl<<endl; } void inserir(){ clrscr; cout<<"Adicionar"<<endl; cout<<"Digite o Elemento"<<endl; for(i=0;i<10;i++){ cin>>pilha[i]; } } void retirar(){ clrscr; cout<<"Retirar"<<endl; cout<<"Retirdo"<<pilha[9]; cout<<endl; strcpy(pilha[9],pilha[8]); strcpy(pilha[8],pilha[7]); strcpy(pilha[7],pilha[6]); strcpy(pilha[6],pilha[5]); strcpy(pilha[5],pilha[4]); strcpy(pilha[4],pilha[3]); strcpy(pilha[3],pilha[2]); strcpy(pilha[2],pilha[1]); strcpy(pilha[1],pilha[0]); strcpy(pilha[0]==NULL; } int main(int argc,char *argv[]){ while(opcao != 0){ cout<<"Escolha de opcao "<<endl; cout<<"[1] - Mostrar Fila"<<endl; cout<<"[2] - Inserir Elemento na Fila"<<endl; cout<<"[3] - Retirar Elemento da Fila"<<endl; cout<<"[0] - Sair"<<endl; cin>>opcao; if (opcao == 1){mostrar();} if (opcao == 2){inserir();} if (opcao == 3){retirar();} } system("pause"); return EXIT_SUCCESS; }
×
×
  • Criar Novo...