20/03/2012
Petronio Filho
depois de quase um ano...
[quote="Petronio Filho"]Poxa vida, ninguém dá um código certo não é?
Para quem teve dúvidas e perdeu horas e mais horas de busca e não encontrou nada ai segue um código que de fato funciona.
funciona, mas somente se não tiver número negativo ou maior que 9999999...
Foi por isso que escrevi que seria melhor inicializar os valores com [color=#008800]Integer.MAX_VALUE[/color] e [color=#008800]Integer.MIN_VALUE[/color]!
[quote="Petronio Filho"][quote="crazyshock"]Batman, usei o seu algoritmo porém houve uma falha,na hora de ordenar em vez de ordenar corretamente , ele da um bug, exemplo:
coloco valores de 12,70,20,50
Horaq ele ordena ele poem o 18 como menor e na lista de sequencia aparece apenas
18,70,70,70,70
tentei reformular esse alorimo mesmo assim naão tive solucao
:(
Respondi sua questão
será? Na verdade nem tem questão...
Penso que o algoritmo do [b]batman[/b] está correto!
Funciona perfeitamente com os valores 12,70,20,50. É muito estranho o [b]crazyshock[/b] ter obtido um array com uma posição adicional - resultado tem cinco elementos, mas a entrada somente 4 - e com o número 18 que nem consta nas dados de entrada... Deve ter errado na hora de copiar...
Não sei qual seria o exercício, e não li todos os post,
não poderia ser aassim?
import java.util.Arrays;
public class SortArray {
public static void main(String[] args) {
int vetor[] = {5, 3, 1, 11, 18, 10};
Arrays.sort(vetor);
for (int number : vetor) {
System.out.println(number);
}
}
}
22/03/2012
Petronio Filho
Lógico, acabei de entrar no blog e eu busquei essa resposta pq também me pediram na faculdade. Tava com um trabalho p fazer. Na humildade a gente vai aprendendo mais.
[quote="simu"]depois de quase um ano...
[quote="Petronio Filho"]Poxa vida, ninguém dá um código certo não é?
Para quem teve dúvidas e perdeu horas e mais horas de busca e não encontrou nada ai segue um código que de fato funciona.
funciona, mas somente se não tiver número negativo ou maior que 9999999...
Foi por isso que escrevi que seria melhor inicializar os valores com [color=#008800]Integer.MAX_VALUE[/color] e [color=#008800]Integer.MIN_VALUE[/color]!
[quote="Petronio Filho"][quote="crazyshock"]Batman, usei o seu algoritmo porém houve uma falha,na hora de ordenar em vez de ordenar corretamente , ele da um bug, exemplo:
coloco valores de 12,70,20,50
Horaq ele ordena ele poem o 18 como menor e na lista de sequencia aparece apenas
18,70,70,70,70
tentei reformular esse alorimo mesmo assim naão tive solucao
:(
Respondi sua questão
será? Na verdade nem tem questão...
Penso que o algoritmo do [b]batman[/b] está correto!
Funciona perfeitamente com os valores 12,70,20,50. É muito estranho o [b]crazyshock[/b] ter obtido um array com uma posição adicional - resultado tem cinco elementos, mas a entrada somente 4 - e com o número 18 que nem consta nas dados de entrada... Deve ter errado na hora de copiar...
22/03/2012
Petronio Filho
[quote="simu"][quote="Bhoppus"]...
[...]
já que o vetor foi ordenado em ordem decrescente, o maior valor estará na primeira posição e o menor na última... assumindo que a ordenação tenha funcionada.
[]]
To de acordo com o Simu... e se tiver de ordem ascendente na primeira posição será o menor valor e o da última será o maior valor.
22/03/2012
Petronio Filho
Caso o vector não esteja ordenado vem aí um exemplo para pagar o menor e maior valor do vector:
public class MaiorMenor{
private int menor, maior;
public void buscarMaiorMenor(int[] vector){
menor = vector[0];
maior = vector[0];
for(int valor: vector){
if(valor<menor)
menor = valor;
if(valor>maior)
maior = valor;
}
}
}