public void Exercicio() { Console.Clear(); String sequencia = ("123456"); // Define a sequência Console.Write("Sequência A: "); Pilha pilha = new Pilha(6); pilha.push(sequencia[0]); // Adiciona 1 à pilha pilha.push(sequencia[1]); // Adiciona 2 à pilha pilha.push(sequencia[2]); // Adiciona 3 à pilha Console.Write(pilha.pop()); // Retira 3 da pilha Console.Write(pilha.pop()); // Retira 2 da pilha pilha.push(sequencia[3]); // Adiciona 4 à pilha pilha.push(sequencia[4]); // Adiciona 5 à pilha Console.Write(pilha.pop()); // Retira 5 da pilha pilha.push(sequencia[5]); // Adiciona 6 à pilha Console.Write(pilha.pop()); // Retira 6 da pilha Console.Write(pilha.pop()); // Retira 4 da pilha Console.WriteLine(pilha.pop()); // Retira 1 da pilha Console.Write("Sequência B: "); Fila fila = new Fila(6); for (int i = 0; i < 6; i++) { fila.push(sequencia[i]); // Adiciona toda a sequência à fila } Console.Write(fila.pop()); // Retira 1 da fila pilha.push(sequencia[0]); // Adiciona 1 à pilha pilha.push(sequencia[1]); // Adiciona 2 à pilha pilha.push(sequencia[2]); // Adiciona 3 à pilha pilha.push(sequencia[3]); // Adiciona 4 à pilha pilha.push(sequencia[4]); // Adiciona 5 à pilha Console.Write(pilha.pop()); // Retira 5 da pilha Console.Write(pilha.pop()); // Retira 4 da pilha pilha.push(sequencia[5]); // Adiciona 6 à pilha Console.Write(pilha.pop()); // Retira 6 da pilha Console.Write(fila.pop()); // Retira 2 da fila Console.WriteLine(fila.pop() + "\n"); // Retira 3 da fila }
public void Exercicio() { Console.Clear(); Console.Write("Insira uma frase: "); String frase = Console.ReadLine(); // Lê a frase Pilha p = new Pilha(frase.Length); Fila f = new Fila(frase.Length); int aux = 0; foreach (char c in frase) { if (c.Equals(' ') || c.Equals(',') || c.Equals('.') || c.Equals(':') || c.Equals('-')) { } else { p.push(c); f.push(c); // Envia à fila e pilha somente letras do alfabeto } } char[] pilhaC = new char[frase.Length]; char[] filaC = new char[frase.Length]; while (!p.isEmpty() && !f.isEmpty()) { pilhaC[aux] = p.pop(); filaC[aux] = f.pop(); aux++; // Retorna as frases em ordem normal e invertida } String novaFrase = new String(filaC); String novaFraseInvertida = new String(pilhaC); // Compara as duas frases if (novaFrase == novaFraseInvertida) { Console.WriteLine("É um palíndromo\n"); } else { Console.WriteLine("Não é um palíndromo\n"); } }