Vetor

6 respostas
C

[color=darkblue][/color] Oi gente estou começando agora no java e meu professor passou um exercicio mas não explicou direito e é valendo ponto eu consegui fazer os outros, mas enrrosquei no de vetor o enunciado é o seguinte: crie um programa que preencha um vetor de 10 posições, exiba-o, ordene-o e exiba-o novamente ja ordenado. tive a primeira aula nesta semana e não sei muitos comandos de java só de C me ajudem por favor obrigado

6 Respostas

diego2005

Você tentou fazer alguma coisa??

Só uma dica pra vc, cuidado com esse tipo de post porque o pessoal aqui não gosta muito. Tente fazer algo depois vai postando suas dúvidas.

T+

luistiagos

bem se for isto é muito simples… e so vc criar o vetor e depois interalo exibindo-o e depois usar Arrays.sort(vetor) para ordenalos…

mas creio q o seu prof queira q vc faça isso na mao e nao use Arreys.sort… entao pesquise sobre algoritimos de ordenação: buublesort, shellshort, quicksort, selectsort, treesort entre outros diversos…

dicabeca

esse é o comeco,dai tenta ir sozinho q é só algoritimo!!!,qnd pintar as duvidas posta, mais tenta fzr o algoritimo primeiro, e procura no google q isso tem uma porrada pra isso,tem umas funcoes q ordenam,faz umas paradas doidas,mais tenta fzr na mao!!! vai ser melhor pra vc vlw!!!

public class Vetor 
{
 private static int vetor[];
 
    public static void main(String args[]) 
    {
        vetor = new int[10];
        
        for(int i = 0;i < vetor.length ;i++)
        {
            vetor[i] = i;
            System.out.println(vetor[i]);
        }
    }           
    
}
wln1987

Camila, como todo mundo já falou... tenta fazer sozinha...

Mas dá uma olhada aqui embaixo que vai te ajudar...

import java.util.Arrays;

public class Vetor {

	public static long[] criaVetor(int n) {
		long[] vetor = new long[n];
		
		for (int i = 0; i < vetor.length; i++) {
			vetor[i] = Math.round(Math.random() * 100);
		}	
		
		return vetor;
	}
	
	public static void mostraVetor(long[] vetor) {
		System.out.print("[");
		for(int i = 0; i < vetor.length; i++) {
			System.out.print(vetor[i]);
			if(i != vetor.length - 1) {
				System.out.print(", ");
			} else {
				System.out.println("]");
			}
		}
	}
	
	public static void main(String args[]) {
		long[] vetor = criaVetor(10);
		
		System.out.println("Antes da ordenação...");
		mostraVetor(vetor);
		
		// ORDENA DO JEITO QUE VOCÊ ACHAR MELHOR...
		// SEU PROF. PROVAVELMENTE NÃO QUER ASSIM...
                Arrays.sort(vetor);
		
		System.out.println("Após ordenado...");
		mostraVetor(vetor);
		
	}
}

Espero que tenha ajudado, abraços!

W

Bom, eu trabalho com java há um tempo, e na facul pediam isso sempre… a moral é que tu vai fazer um For dentro de outro For…

pensa nesta lógica que é como os professores de facul querem…

qualquer dúvida, posta aew…

valeu…

edymrex

Cara vou te passar o Quick sort essa implementação é minha, esse é o método de ordenação mais rápido para um conjunto de mais de 5000 elementos …!

import javax.swing.JOptionPane;
 import javax.swing.JTextArea;
 import javax.swing.JScrollPane;
 import java.util.Random;
 
 public class Quick 
 {
 	  private static void ordena(int a[], int p, int u) 
 	  {
 	    int i = p, f = u;                         
 	    int x = (int) (Math.random()*(u-p+1))+p; 
 	    int pivô = a[x];                         
 	    
 	    while (i <= f)   
 	    {                        
 	      
 	      while (i < u && a[i] < pivô) i++;       
 	      
 	      while (f > p && a[f] > pivô) f--;       
 	      
 	      if (i <= f) 
 	      {                           
 	        x = a[f];                             
 	        a[f--] = a[i];                        
 	        a[i++] = x;                          
 	      }
 	    }
 	    
 	    if (p < f) ordena(a,p,f);                 
 	    if (i < u) ordena(a,i,u);                  
 	    
 	    
 	  }
 	  
 	  public static void main(String args[])
 	  {
 	  	  Random aleatorio = new Random();
 		  String saida="";
 		  JTextArea texto = new JTextArea(10,10);
 		  JScrollPane exibe = new JScrollPane(texto);
 		  int vet[] = new int [100000];
 		  int i;
 		  
 		  for(i=0;i<vet.length;i++)
 			  vet[i]=-0+aleatorio.nextInt(12000);
 			  
 		 
 		  ordena(vet,0,vet.length-1);
 		 
 		  for (i=0;i<vet.length;i++)
 			  	saida+=vet[i]+"\n";
 		  
 		  texto.setText(saida);
 		  
 		  JOptionPane.showMessageDialog(null,exibe,"ORDENAÇÂO COM QUICK SORT",JOptionPane.WARNING_MESSAGE);
 		  
 	  }
 
 }
Criado 16 de agosto de 2007
Ultima resposta 16 de ago. de 2007
Respostas 6
Participantes 7