Dúvidaaa

2 respostas
E

Galera estou fazendo um programa por conta própria soh pra treinar a lógica mais não está ordenando em ordem descrescente se alguém souber onde eu errei me avise ou implemente o código pra min ficarei grato!

/* Crie um aplicativo que leia um vetor de 10 posições interiras. Ordenar o vetor
 em ordem descrescente, alterando o próprio vetor.
*/

import javax.swing.*;

public class Logica
{
	public static void main(String args[])
	{
		int vet[]= new int [10],i,aux,lusp=9;
		String saida;
		JTextArea texto = new JTextArea(10,10);
		saida="Prog Lógica \n";
		for(i=0;i<10;i++)
		{
			vet[i]=Integer.parseInt(JOptionPane.showInputDialog("Dígite o "+(i+1)+" número "));
			saida+="O vetor na posição "+i+"recebeu "+vet[i]+"\n";
		}
		
		for (int j=0;lusp<9;j++)
		{
			for(i=0;i<9;i++)
			{
				if(vet[i]<vet[i+1])
				{
					aux=vet[i];
					vet[i]=vet[i+1];
					vet[i+1]=aux;
					
					
					
				}
			}
			lusp--;
		}
		
		
		
		for(i=0;i<10;i++)
		{
			saida+="Ordenando em ordem descrescente "+vet[i]+"\n";
		}
		texto.setText(saida);
		JOptionPane.showMessageDialog(null,texto);
	}
}

2 Respostas

H

Alterei o seu "for" do meio e deu certo.

for (int j=0;j<9;j++) 
      { 
         for(i=0;i<9;i++) 
         { 
            if(vet[i]<vet[j]) //Altere o sinal pra ordenar crescente
            { 
               aux=vet[i]; 
               vet[i]=vet[j]; 
               vet[j]=aux; 
                
                
                
            } 
         } 
        
      }

Falows!

E

Valew cara mais tive k fazer mais uma alteração se não não comparava todas as posiçoes…!

for (int j=0;j<10;j++)
      {
         for(i=0;i<10;i++)
         {
            if(vet[i]<vet[j]) //Altere o sinal pra ordenar crescente
            {
               aux=vet[i];
               vet[i]=vet[j];
               vet[j]=aux;
               
               
               
            }
         }
       
      }
Criado 22 de julho de 2006
Ultima resposta 22 de jul. de 2006
Respostas 2
Participantes 2