Ir ao conteúdo

Posts recomendados

Postado

Olá galera, estou com dúvidas em um exercício: Criar um programa (Modelar e Implementar):

● Entre com 3 valores numéricos inteiros;
● Imprimir na tela os 3 valores ordenados;
● Imprimir na tela a soma dos 3 valores;
● Fazer a mesma coisa para valores flutuantes;
● Otimizar os dois programas em termo de
modelagem.
 
Como irei ordenar três valores sem usar vetor? Pensei em fazer ifs mas fica um código bem tosco.
  • Moderador
Postado

Sem vetor, acredito que terias que criar uma variável auxiliar .. e fazer uma comparação de quem é maior que quem... e então por na ordem.

Postado

O que você chama de vetor? E porque não pode utilizar?

 

array = coleção de tamanho pré-determinado

vetor = coleção de tamanho dinâmico

 

Se você é obrigado a utilizar 3 variáveis, então, realmente não existe forma de fugir da coleção de if's encadeados. Poste um trecho de código do que você bolou até agora e vemos no que podemos ajudar.

 

 

Falouzs!!

  • 5 semanas depois...
  • Membro VIP
Postado

Você não precisa usar vetor...

Pode uma collection (ou qualquer tipo de interface herda a collection) e usar o método .sort da Classe Collections

Pra fazer pra ponto-flutuante, basta usar o Float no lugar do Integer...

  • Membro VIP
Postado

Não precisa de if encadeado.

Basta você alimentar a collection e depois utilizar o Collections.sort

Ou então alimentar uma array, transforma-la em Lista, e utilizar a Collections.sort

 

Se você não puder usar coleção e nem utilizar array (vetor), então você poderia utilizar uma variável auxiliar e ir checando se o valor dela é menor... assim você não precisa encadear tantos ifs.... mas fica chato de fazer....

  • 3 anos depois...
Postado
package ordenacao;
import java.util.Scanner;  
public class ordenacao 
{  
   public static Scanner vet;
public static void main (String args []){  
       vet = new Scanner (System.in);  
        int elementos[] = new int[3];  
        for (int i=0; i<3; i++){  
            System.out.printf ("Informe o numero %d:",i);  
            elementos = vet.nextInt();  
        }  
        ordena(elementos);
        System.out.println("Numeros Ordenados: ");
        for (int numero : elementos){
            System.out.println(numero);
        }
    }  
   public static void ordena(int elementos[]){  
        int cont1, cont2,aux;  
            for(cont1 =0; cont1<3; cont1++){  
                for(cont2 =0; cont2 <2; cont2++){  
                   if(elementos[cont2]> elementos[cont2+1]){  
                        aux = elementos[cont2];  
                        elementos[cont2] = elementos[cont2+1];  
                        elementos[cont2+1] = aux;  
                    }  
                }  
            }              
   }      
}

apesar de utilizar o vetor acho uma forma interessante de resolver . fiz utilizando  o eclipse.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...