public void Calculate(string sing) { double ret = nums.Pop(); while (nums.getTop() != 0) { if (sing == "+") { ret += nums.Pop(); } else if (sing == "-") { ret -= nums.Pop(); } else if (sing == "*") { ret *= nums.Pop(); } else if (sing == "/") { ret /= nums.Pop(); } else { ret %= nums.Pop(); } } nums.Push(ret); Console.WriteLine(ret); }
public static void Main(string[] args) { Pilha <string> p = new Pilha <string>(); p.Push("Vicente"); p.Push("de"); p.Push("Paiva"); p.Push("Limeira"); Form <string> .ListaOrdemChegada(p); Form <string> .ListaOrdemInversa(p); Console.WriteLine($"\nExcluindo o ultimo a chegar ..."); p.Pop(); Form <string> .ListaOrdemChegada(p); Console.WriteLine($"\nExcluindo o ultimo a chegar ..."); p.Pop(); Form <string> .ListaOrdemChegada(p); Console.WriteLine($"\nAgora com inteiros ..."); Pilha <int> n = new Pilha <int>(); n.Push(100); n.Push(7); n.Push(21); n.Push(19); Form <int> .ListaOrdemChegada(n); Form <int> .ListaOrdemInversa(n); Console.WriteLine($"\nExcluindo o ultimo a chegar ..."); n.Pop(); Form <int> .ListaOrdemChegada(n); Console.WriteLine($"\nExcluindo o ultimo a chegar ..."); n.Pop(); Form <int> .ListaOrdemChegada(n); return; }
static void Main(string[] args) { //Criando meu objto do tipo Pilha, passando aquantidade de casas que a pilha recebera Pilha pilha = new Pilha(10); int sair = 0; string imprime = ""; while (sair == 0) { ImprimeOpcoes(); int opcao = int.Parse(Console.ReadLine()); if (opcao == 0) { sair = 1; } else { if (opcao == 1) { Console.Clear(); Console.WriteLine("Digite um valor para inserir na Pilha \n"); int valor = int.Parse(Console.ReadLine()); pilha.Push(valor); Console.Clear(); imprime = pilha.ImprimirPilha(); Console.WriteLine(imprime); } else if (opcao == 2) { Console.Clear(); pilha.Pop(); Console.Clear(); imprime = pilha.ImprimirPilha(); Console.WriteLine(imprime); } else if (opcao == 3) { // Console.Clear(); Console.WriteLine("Digite um valor para inserir na Pilha \n"); int valor = int.Parse(Console.ReadLine()); pilha.Peek(valor); // Console.Clear(); imprime = pilha.ImprimirPilha(); Console.WriteLine(imprime); } else if (opcao == 4) { Console.Clear(); imprime = pilha.ImprimirPilha(); Console.WriteLine(imprime); } } } }
static void Main(string[] args) { Console.WriteLine("Exemplo Pilha!"); Pilha pilha = new Pilha(); pilha.Push(14); pilha.Push(25); pilha.Push(36); Console.WriteLine($"Topo={pilha.Peek()}"); Console.WriteLine($"Qtd={pilha.Count()}"); pilha.Pop(); pilha.Pop(); Console.WriteLine($"Topo={pilha.Peek()}"); Console.WriteLine($"Qtd={pilha.Count()}"); pilha.Pop(); Console.WriteLine($"Topo={pilha.Peek()}"); Console.WriteLine($"Qtd={pilha.Count()}"); }
private Carta GetValidCard() { Carta aux = this.monte.RemoveTopCard(); Pilha <Carta> pilhaaux = new Pilha <Carta>(); while (aux is Especial || aux is Curinga) { pilhaaux.Push(aux); aux = this.monte.RemoveTopCard(); } while (pilhaaux.Count > 0) { this.monte.Add(pilhaaux.Pop()); } return(aux); }
private void btnApagar_Click(object sender, EventArgs e) { char ultimoCaractere = ' '; do { infixaMostrada = infixaMostrada.Substring(0, infixaMostrada.Length - 1); if (infixaMostrada.Length > 0) { ultimoCaractere = infixaMostrada[infixaMostrada.Length - 1]; } else { break; } } while (ultimoCaractere.Equals(' ')); if (ultimoCaractere == '√') { infixaMostrada = infixaMostrada.Substring(0, infixaMostrada.Length - 1); } else if (ultimoCaractere == 'g' && infixaMostrada.Length > 2 && infixaMostrada.Substring(infixaMostrada.Length - 3) == "log") { infixaMostrada = infixaMostrada.Substring(0, infixaMostrada.Length - 3); } string qualApagou = " "; qualApagou = calculadora.Infixa[calculadora.QtdElementosUltimaConta - 1]; if (IsNumeric(qualApagou) || qualApagou == "." || qualApagou == ",") { qualApagou = qualApagou[qualApagou.Length - 1].ToString(); string ultimoNumero = calculadora.Infixa[calculadora.QtdElementosUltimaConta - 1]; calculadora.Infixa[calculadora.QtdElementosUltimaConta - 1] = ultimoNumero.Substring(0, ultimoNumero.Length - 1); if (ultimoNumero.Length <= 1) { calculadora.ExcluirDoVetor(); } } else { if (qualApagou == "√") { operacoesAColocar.Empilhar("√"); quandoColocarOperacao.Empilhar(1); calculadora.ExcluirDoVetor(); } else if (qualApagou == "log") { operacoesAColocar.Empilhar("log"); quandoColocarOperacao.Empilhar(1); calculadora.ExcluirDoVetor(); } calculadora.ExcluirDoVetor(); if (qualApagou == "(" && !operacoesAColocar.EstaVazia()) { quandoColocarOperacao.Empilhar(quandoColocarOperacao.Pop() - 1); // Significa que a operação está mais próxima de ser colocada if (quandoColocarOperacao.Topo == 0) // Quer dizer que o parênteses que deu origem à operação - Ex: log( - foi apagado { operacoesAColocar.Pop(); quandoColocarOperacao.Pop(); } } else if (qualApagou == ")" && !operacoesAColocar.EstaVazia()) // Afasta a operação de poder ser colocada { quandoColocarOperacao.Empilhar(quandoColocarOperacao.Pop() + 1); } } HabilitarBotoes(); AtualizarVisor(); }