Duvida com vetor!

9 respostas
FelipeSN

Como eu faço a média dos números lidos de um vetor de 10 posições, como eu pego o maior número par lido, e o menor número impar lido, desse vetor de 10 posições?

9 Respostas

joede.fadel

média -> vc soma todos os numeros do vertor e divide pela quantidade
menor numero par -> vc pega o resto da divisao com % se for diferente de 0 e verifica se ele é menor com o anterior
maior numero par -> vc pega o resto da divisao com % se for igual de 0 e verifica se ele é menor com o anterior
ex:

res = vt[pos]%2;
if(res == 0){
 ...
}else{
...
}

não vou terminar de resolver mais mostrei o caminho

rafaelglauber

Some os 10 valores e divida por 10.

Faça um loop no vetor e verifique se o numero não deixa resto quando dividido por 2, va quardando os valores verificando sempre se o atual é maior que o guardado anteriormente.

A logica anterior de forma invertida, em vez de não deixar resto deve deixar…em vez do maior o menor…

FelipeSN

O código ajudaria muito , para me entender melhor essa lógica com vetor.

rafaelglauber

O código seria fazer o trabalho por você…tente ai que você consegue…

joede.fadel

a logica não ta invertida não, só onde eu tava qrendo pegar o resto da divisao era por 2 e naum por 10 é dividir por 10 era para tirar a média/

int maior = vt[0];
        int menor = vt[0];
        int res;
        float med = 0;
        for(int pos = 0;pos < vt.length;pos++){
            med += vt[pos];
            res = vt[pos]%2;
            System.out.println(res);
            if(res == 0){
                if(maior < vt[pos]){
                    maior = vt[pos];
                }
            }else{
                if(menor > vt[pos]){
                    menor = vt[pos];
                }
                
            }
        }
        System.out.println("Maior ->"+maior);
        System.out.println("Menor ->"+menor);
        System.out.println("Média ->"+med/10);
leobr84

(1) somar e dividir.
(2) armazena numa variavel e compara com valor de v[i], armazenar v[i] caso seja maior. usando alguma estrtutura de loop.
(3) mermo principio de (2).

rafaelglauber
joede.fadel:
rafaelglauber:

A logica anterior de forma invertida, em vez de não deixar resto deve deixar...em vez do maior o menor.....

a logica não ta invertida não, só onde eu tava qrendo pegar o resto da divisao era por 2 e naum por 10 é dividir por 10 era para tirar a média/

int maior = vt[0];
        int menor = vt[0];
        int res;
        float med = 0;
        for(int pos = 0;pos < vt.length;pos++){
            med += vt[pos];
            res = vt[pos]%2;
            System.out.println(res);
            if(res == 0){
                if(maior < vt[pos]){
                    maior = vt[pos];
                }
            }else{
                if(menor > vt[pos]){
                    menor = vt[pos];
                }
                
            }
        }
        System.out.println("Maior ->"+maior);
        System.out.println("Menor ->"+menor);
        System.out.println("Média ->"+med/10);

Em nenhum momento falei de seu post....nem vi seu post quando coloquei o meu, se olhar postamos quase ao mesmo tempo...eu tava falando que a logica da terceira é inversa ao da segunda, por se tratar do menor impar e a segunda ser o maior par, só isso.

:)

FelipeSN

Vlw cara.

joede.fadel

é q eu li na facul e tava fazendo varias coisas ao msmo tmpo e interprei errada
foi mal

erro tecnico

Criado 11 de junho de 2008
Ultima resposta 12 de jun. de 2008
Respostas 9
Participantes 4