Esta é uma página pessoal, criada inicialmente para armazenar os códigos-fontes dos programas Java desenvolvidos durante o Curso de BSI, mas agora, armazenará soluções de exercícios dos meus estudos extra acadêmicos. A ideia é permitir que estudantes iniciantes na programação Java continuem encontrando neste espaço um meio de pesquisa e estudo, portanto, serão alternativas de soluções para exercícios básicos. Buscarei disponibilizar os códigos de forma didáticos e sempre que possível comentados.
AGRADECIMENTO...
Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.
Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...
Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.
As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.
Desde já agradeço a todos pelas visitas e desejo bons estudos.
Thiago Campos
(srthiago@hotmail.com)
sábado, 27 de outubro de 2012
Ordena uma pilha usando algumas variáveis e um vetor.
Coloque os elementos de uma pilha P em ordem ascendente usando uma pilha adicional e algumas variáveis.
Código Java
//Autor: Thiago Campos
//Data: 27.10.2012
package br.thiago.dominio;
import javax.swing.JOptionPane;
/**
*
* @author Thiago
*/
public class Q2 {
//VARIAVEIS GLOBAIS
public static int k = 5;
public static int[] p1 = new int[k];
public static int[] p2 = new int[k];
public static int topo = -1;
public static int topoB = -1;
//INICIO DAS FUNÇÕES-------------------------------------------------------
public static void push(int valor){ //função para inserir na pilha A
if(topo < k){
topo++;
p1[topo] = valor;
}
}//fim função push A
public static void pushB(int vlr){ //função para inserir na pilha B
if(topoB < k){
topoB++;
p2[topoB] = vlr;
}
}//fim função push B
public static String exibePilha(){ //função para exibir a pilha A
String str="";
for (int i = topo; i > -1; i--) {
str += p1[i];
}
return str;
}
public static String ordStr(String str){ //função para ordenar
int aux;
String strR="";
int[] v = new int[5];
for (int i = topo; i > -1; i--) { //transfere os elementos da pilha para o vetor
v[i] += p1[i];
}
for (int i = 0; i < v.length; i++) { //ordena os elementos
for (int j = i+1; j < v.length; j++) {
if(v[i]>v[j]){
aux = v[i];
v[i] = v[j];
v[j] = aux;
} //fim if
} //fim for j
} //fim for i
for (int i = 0; i < v.length; i++) {//transfere os elementos para uma string
int a = v[i];
pushB(a);
}
for (int i = 0; i < v.length; i++) {//transfere os elementos para uma string
strR += p2[i];
}
return strR; //retorna a string ordenada
}
//INICIO DO MAIN------------------------------------------------------------
public static void main(String[] args){
//Variaveis locais
String str;
String strOrd;
//pilha A
push(3);
push(4);
push(1);
push(5);
push(2);
//uso das funções
str = exibePilha(); //retorna a pilha A
strOrd = ordStr(str); //retorna a pilha B
//saida
JOptionPane.showMessageDialog(null, "Pilha A: " + str);
JOptionPane.showMessageDialog(null, "Pilha B: " + strOrd);
} //fim do main
} //fim da classe
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário