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
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.)
=========================
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.
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...
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...
importjava.util.Stack;importjavax.swing.JOptionPane;classteste{publicstaticvoidmain(String[]args){Stack<Integer>pares=newStack<Integer>();Stack<Integer>impares=newStack<Integer>();intn=Integer.parseInt(JOptionPane.showInputDialog(null,"Entre com o valor n: "));intaux;for(inti=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(inti=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
thingol
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
Zuvirandu
Concordo com o thingol, acho que essa é a proposta.
Não colocarei nenhum código porque não vou fazer sua lição
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.