Exercicio de vetores

3 respostas
Subi_no_onibus

Olá pessoal, boa tarde.

Estou tentando resolver um exercício, mas não estou obtendo os resultados esperados.

Segue o exercício:

>>> Ler um vetor de 10 posições e mostra-lo em ordem crescente.

Já comecei a fazer o exercício, como mencionado anteriormente, estou tentando resolve-lo.
Já fiz teste de mesa, compreendi como deve ser feita a comparação e troca dos elementos informados, mas… mas, não estou conseguindo transcrever isso em linguagem de programação.

import EntradaSaida.Janela;
public class Exercicio_7 {

public static void main (String [] args) {

	int vetor[] = new int [10];
	int aux, cont=0;

	for(int i=0; i<=9; i++){
		vetor[i] = Janela.lerInt("Informe o valor.");}

        for(int i=0; i<=8; i++){

            for(int m=1; m<=9; m++){

		        if (vetor[i]>vetor[m]){
		  	        aux = vetor[i];
		  	        vetor[i] = vetor[m];
		  	        vetor[m] = aux;}       }
        
         
        } for( int i=0; i<=9; i++){
              Janela.escrever (" Posição:" + vetor[i]);}



}

}

Só o primeiro elemento troca de posição: após digitar os elementos de 10 a 1, por exemplo, somente o 1 troca de posição - 1 - 10 - 9 - 8 …

Se alguém puder me ajudar, agradeço!

3 Respostas

danielso2007

Tente isso:

int values[] = new int[10];
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("Digite valores inteiros:");
		
		for (int x = 0; x < values.length; x++) {
			values[x] = scanner.nextInt();
		}
		
		int aux = 0;
		for (int x = 0; x < values.length; x++) {
			for (int y = 0; y < values.length; y++) {
				if (values[x] < values[y]) {
					aux = values[x]; 
					values[x] = values[y];
					values[y] = aux;
				}
			}
		}
		
		System.out.println("\nOrdenados:");
		
		for (int value : values) {
			System.out.println(value);
		}
nel

Oi!

int vet[] = new int[] {4, 1, 3, 2, 0}; int aux = 0; for(int a = 0; a < vet.length; a++) { for(int b = a+1; b < vet.length; b++) { if(vet[a] > vet[b]) { aux = vet[a]; vet[a] = vet[b]; vet[b] = aux; } } } for(int value : vet) { System.out.println(value); } System.out.println("###"); // Utilizando o Java e suas API´s Arrays.sort(vet); for(int x : vet) { System.out.println(x); }

Evite usar um for com tamanho fixo, procure usar o .lenght e também sempre que postar código, use as tag code.
Abraços.

ruben_m

Aqui um exemplo de um Programa usando o Booble Sort , mas existem diversos algoritmos na Web para isso, é so questao de analisar os algoritmos e converter a linguagem

public class Teste {

public static void ordenaVector(int A[]){  //Criamos um metodo para ordenar o vector
  
 for (int i = 0; i < A.length; i++) {  
     for (int j = 1; j <= A.length; j++) {  
         if (A[j-1] > A[j]) {  
            int aux = A[j];   
             A[j] = A[j-1];  
             A[j-1] = aux;  
         }  
     }  
 } 

}
    public static void main(String[] args) {
        int [] Vector = new int[]{20,30,23,45,48,1,0,58};
        ordenaVector(Vector);
        for(int i=0;i<Vector.length;i++){
            System.out.print(Vector[i]);
        }
       
    }
}
Criado 23 de agosto de 2011
Ultima resposta 24 de ago. de 2011
Respostas 3
Participantes 4