E chegou a vez dos malditos Vetores x_x ! Alguem tem uma idéia qto a isso?

7 respostas
A

Falaeee pessoal.. cheguei nos atentados dos vetores. Tem um exercicio aki pra fazer que tem q ordenar as notas. Vo explicar melhor com enunciado , olha ae

import java.io.*;

/*2) Escreva um programa que receba valores de notas de alunos, ordene e imprima as notas em ordem crescente e decrescente. 
Este mesmo programa deve calcular e apresentar a soma total das notas e a média geral das notas recebidas. Dica: utilize 
vetores para resolver o exercício.*/

public class Alun {
	public static void main (String args[]) {
		
		String s = "";
		
		float n1 = 0, n2 = 0, n3 = 0, n4 = 0, media = 0;
		DataInputStream dado;
		try {

		System.out.println(" Primeira Nota ");
		dado = new DataInputStream(System.in);
		s = dado.readLine();
		n1 = Float.parseFloat(s);
		
		System.out.println(" Segunda Nota ");
		dado = new DataInputStream(System.in);
		s = dado.readLine();
		n2 = Float.parseFloat(s);
		
		System.out.println(" Terceira Nota ");
		dado = new DataInputStream(System.in);
		s = dado.readLine();
		n3 = Float.parseFloat(s);
		
		System.out.println(" Quarta Nota ");
		dado = new DataInputStream(System.in);
		s = dado.readLine();
		n4 = Float.parseFloar(s);
				
		media = (n1 + n2 + n3 + n4)/4;
		System.out.println(" Media : " + media);
		}
		catch (IOException e) {
			System.out.println(" Hove Errro(s) ");
		}
		
		
	}
}

Eu fiz so os calculos da nota. Agora qria saber como imprimir em orden crescente e decrescento as notas. Eu comecei de tras pra frente pq nao soube ainda ordenar ^^

eu sei ordenar de 0 a 10 tipo assiim:

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

Vlww aee =D - se puderem ajudar ae =D

7 Respostas

E

Você já ouviu falar de ordenação por bolha (também conhecida por “bubblesort” ou como eu costumo chamar, “bobosort” - porque é bem bobinha de fazer?)

Procure isso aqui no GUJ que há um monte de exemplos prontos.

Como a busca do GUJ não é muito boa, use o Google mesmo, e use as palavras chaves:

bubblesort site:www.guj.com.br

OK?

edmarr

Por isto eu amo o GOOGLE :smiley:

A

Nao entendí ^^ fiz a pesquisa mas deu an trave…

da um exemplo ae por aki. foi minha segunda aula de vetor. Eu consegui ordenar de 0 a 10 ^^
Mas pel]o q entendí no exercicio, iremos digitar numeros aleatorios e depois ordenalos.
vo tentar aos pokinhos.

Pode dizer o q iremos usar ? for, while, do while ? Oo’
vlw.

E

Um pouco de pesquisa não faz mal a ninguém.

Quando fui fazer uma entrevista de emprego, pediram para escrever um programa que ordenasse uma série de inteiros, tal qual você precisa.

E usei o tal do “bubblesort”. Ele é bem fácil (e bobo - por isso que eu chamo de “bobosort”), deve ter até na sua apostila.

Que tal procurar, achar, e tentar entender o programa, para ver como é que funciona? Dica: tem if e for, conforme você está chutando.

A

Se você puder usar List ta ai o que deve ser feito:

List<Float> list = new ArrayList<Float>();
list.add(n1);
list.add(n2);
list.add(n3);
list.add(n4);
Collections.sort(list);
for (Float nota : list) {
   System.out.println(nota);
}

Flw

wagner_a_lima

Como os colegas disseram, dá uma pesquisa no google que tem muita coisa.
Como eu dei uma pesquisada, vou dar uma força. Aqui tem uma explicação muito boa sobre ordenações. Fiz algumas adptações para ordenar de forma crescente.

BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
        int vetor[] = new int[10];
        int somaTotal = 0;
        int mediaGeral = 0;
        int elemento = 0;

        for (int i = 0; i < vetor.length; i++) {
            System.out.println("Digite a " + (i + 1) + " nota");
            vetor[i] = Integer.parseInt(d.readLine());

            somaTotal += vetor[i];
        }
        mediaGeral = somaTotal / vetor.length;

        int i = 0;
        for (int j = 1; j < vetor.length; j++) {
            elemento = vetor[j];
            i = j - 1;
            while (i >= 0 && vetor[i] > elemento) {
                vetor[i + 1] = vetor[i];
                i = i - 1;
            }
            vetor[i + 1] = elemento;
        }

        System.out.println("Soma total: " + somaTotal);
        System.out.println("Media geral: " + mediaGeral);
        for (int k = 0; k < vetor.length; k++) {
            System.out.println("Nota " + (k + 1) + ": " + vetor[k]);
        }

Para colocar em ordem decrescente faça o seguinte:

  • acesse o link
  • leia
  • entenda
  • e implemente com as devidas alterações :smiley:

Qualquer dúvida posta ai. :wink:

A

na verdade fiz pesquisa. Mas entendo mais facil por aki. Pq aki nao usa linguagens tecnicas. dae agora o programa da indo. so falta mais umas implementações
=D

Criado 8 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 7
Participantes 5