fork(1) download
  1. using static System.Console;
  2. using System.Collections.Generic;
  3.  
  4. public class Program {
  5. public static void Main() {
  6. WriteLine("<Pilha>");
  7. var minhaPilha = new Stack<string>();
  8. minhaPilha.Push("Primeira");
  9. minhaPilha.Push("Segunda");
  10. minhaPilha.Push("Terceira");
  11. minhaPilha.Push("Quarta");
  12. WriteLine("Para add itens, selecione X");
  13. WriteLine();
  14. WriteLine("Para remover itens, selecione Z");
  15. WriteLine();
  16. WriteLine("Caso queira remover um dado especifico digite W");
  17. var opc = ReadLine();
  18. foreach (var carta in minhaPilha) WriteLine(carta);
  19. if (opc == "Z") {
  20. WriteLine();
  21. minhaPilha.Pop();
  22. foreach (var carta in minhaPilha) WriteLine(carta);
  23. }
  24. if (opc == "X") {
  25. WriteLine("Digite aqui:");
  26. minhaPilha.Push(ReadLine());
  27. WriteLine();
  28. foreach (var carta in minhaPilha) WriteLine(carta);
  29. }
  30. if (opc == "W") {
  31. WriteLine("Qual elemento:");
  32. var selecionado = ReadLine();
  33. var novaPilha = new Stack<string>();
  34. var totalItens = minhaPilha.Count;
  35. for (var i = 0; i < totalItens; i++) {
  36. if (minhaPilha.Peek() == selecionado) {
  37. minhaPilha.Pop();
  38. break;
  39. } else {
  40. novaPilha.Push(minhaPilha.Pop());
  41. }
  42. }
  43. totalItens = novaPilha.Count;
  44. for (var i = 0; i < totalItens; i++) minhaPilha.Push(novaPilha.Pop());
  45. foreach (var carta in minhaPilha) WriteLine(carta);
  46. }
  47. WriteLine();
  48. }
  49. }
  50.  
  51. //https://pt.stackoverflow.com/q/84091/101
Success #stdin #stdout 0.02s 17400KB
stdin
Standard input is empty
stdout
<Pilha>
Para add itens, selecione X

Para remover itens, selecione Z

Caso queira remover um dado especifico digite W
Quarta
Terceira
Segunda
Primeira