Exercicio - desafio - pilhas

6 respostas
xandao99

Pessoal,
Estou com uma lista de exercicio para entregar na faculdade, e travei nos 2 exercicios abaixo, com isso, estou precisando da ajuda de vocês… Poderiam me ajudar ?

Eu consegui criar o vetor, inserir os numeros nos indices… apartir dai travei…

=========================
EXERCICIOS

  1. Escreva um programa que leia um inteiro n e uma seqüência
    de n números inteiros e positivos e imprima primeiro os
    números impares na ordem inversa da leitura e, depois, os
    números pares também na ordem inversa da leitura. (Use
    duas pilhas ? uma para armazenar os números impares e outra
    para armazenar os números pares.)

=========================

  1. Escreva um programa que leia uma String s formada pelo
    conjunto de caracteres {0(0,0 )0,0 [0,0 ]0,0 {0,0 }0} e decida se a
    expressão s bem formada ou não.

Obs.: O método s.charAt retorna o caractere de índice especificado
pelo parâmetro passado para o método.

=========================

Abraços!!! Agradeço a ajuda…

6 Respostas

rodrigo.bossini
xandao99:
Pessoal, Estou com uma lista de exercicio para entregar na faculdade, e travei nos 2 exercicios abaixo, com isso, estou precisando da ajuda de vocês... Poderiam me ajudar ?

Eu consegui criar o vetor, inserir os numeros nos indices... apartir dai travei...

=========================
EXERCICIOS
=========================

1) Escreva um programa que leia um inteiro n e uma seqüência
de n números inteiros e positivos e imprima primeiro os
números impares na ordem inversa da leitura e, depois, os
números pares também na ordem inversa da leitura. (Use
duas pilhas ? uma para armazenar os números impares e outra
para armazenar os números pares.)

=========================

2) Escreva um programa que leia uma String s formada pelo
conjunto de caracteres {0(0,0 )0,0 [0,0 ]0,0 {0,0 }0} e decida se a
expressão s bem formada ou não.

Obs.: O método s.charAt retorna o caractere de índice especificado
pelo parâmetro passado para o método.

=========================

Abraços!!! Agradeço a ajuda...

import java.util.Stack;
import javax.swing.JOptionPane;
class teste{
		public static void main (String [ ]args){
			Stack <Integer> pares = new Stack <Integer>();
			Stack <Integer> impares = new Stack<Integer>();
			int n = Integer.parseInt (JOptionPane.showInputDialog (null,"Entre com o valor n: "));
			int aux;
			for ( int i = 0; i < n; i++){
				aux = Integer.parseInt (JOptionPane.showInputDialog (null, "Entre com o próximo valor: "));
				
				if (aux % 2 == 0){
					pares.push (aux);
				}
				else{
					impares.push(aux);
				}
			}
			
			for (int i = impares.size() - 1; i >= 0; i--){
				JOptionPane.showMessageDialog (null, "Próximo impar: " + impares.peek(), "Resultado", JOptionPane.INFORMATION_MESSAGE);
				impares.pop();
			}
			
		
				
		}
}

Falta só fazer a parte de imprimir os pares. O segundo exercício nem entendi.

xandao99

Rod,
Muito obrigado por me ajudar, esse segundo é um desafio que o professor passou, mas se eu conseguir fazer eu posto o resultado aqui.

Valeu Abraços!!!

Vingdel

Não entendi, no segundo exercício, o que quer dizer com "e decida se a expressão s bem formada ou não. "

xandao99

Vingdel:
Não entendi, no segundo exercício, o que quer dizer com "e decida se a expressão s bem formada ou não. "

Achei meio complicado também, não entendi direito… Este exercicio é de PILHA. FIFO (First In; First Out);

T

Pelo que imagino (já que é um exercício sobre pilhas), o professor quer saber se os parênteses, colchetes e chaves casam corretamente. Por exemplo,

(([])[{}()])

é bem-formada porque cada par de parênteses, colchetes e chaves fecha no local correto, mas

([{]}[)]

não é bem-formada.

Z

Concordo com o thingol, acho que essa é a proposta.
Não colocarei nenhum código porque não vou fazer sua lição :stuck_out_tongue:

Pra resolver isso com pilha, voce tem que empilhar os operadores quando eles abrem e desempilhar quando ele fecha.

É bem formada SE e somente SE

  • Quando o operador for para desempilhar, o operador que abre deve estar no topo da pilha.
  • no fim da execução, voce tem que ter uma pilha vazia.

Pense em First In, Last Out.

Criado 31 de maio de 2009
Ultima resposta 1 de jun. de 2009
Respostas 6
Participantes 5