[RESOLVIDO] Array java

7 respostas Resolvido
G

Um ótimo dia para geral!

Estou tentando fazer o seguinte código:

Faça um algoritmo que leia um vetor de 10 posições de números inteiros
e divida todos os seus elementos pelo maior valor do vetor e armazene o
resultado no mesmo vetor. Mostre o vetor após os cálculos.

Gostaria de saber como vou dividir todos os elementos pelo maior do vetor e amarzena ele.

Fiz uma tentativa pelo menos de saber qual e o maior dentro do vetor só que não consegui.

import java.util.Scanner;
        public class Exercicio1 {
            public static void main(String[] args) {
             int[] sla = new int [10];
             int maior = sla[0];
             Scanner ler = new Scanner(System.in);

             for(int i=0; i <10; i++){
                 System.out.println("Digite um número: ");
                 sla[i] = ler.nextInt();
             }

             for(int i=0; i < i ; i++){
                if (sla[i] > maior){
                   maior = sla[i];
             }
            }
            System.out.println("o MAIOR E" + maior);

            }}

7 Respostas

K

Boa Noite.

O código ficaria assim:

import java.util.Scanner;

public class Exercicio1 {

    public static void main(String[] args) {
        int[] sla = new int[10];
        int maior = 0;
        Scanner ler = new Scanner(System.in);

        for (int i = 0; i < 10; i++) {
            System.out.println("Digite um número para entrar no vetor: ");
            sla[i] = ler.nextInt();
            if (i == 0) {
                maior = sla[i];
            } else {
                if (sla[i] > maior) {
                    maior = sla[i];
                }
            }
        }

        System.out.println("o MAIOR E " + maior);

        for (int i = 0; i < sla.length; i++) {
            sla[i] = sla[i] / maior;
            System.out.print(sla[i] + " ");
        }

    }
}
G

Ele imprimi isso:

[telefone removido]

K

Está certo, pois você está pegando o maior número e dividindo todos os elementos do vetor pelo maior dentre eles, e como o vetor é de inteiros ele irá ignorar as casas decimais.Ex:

Tem um vetor de 2 posições e você digita 2 e 4, logo maior é 4, portanto divide 2 por 4 e 4 por 4.

2/4 = 0.5 mas como o vetor é de inteiros ele só ira pegar os elementos do lado esquerdo da virgula(0) e ignorar o que está no lado direito.

4/4 = 1

Então a resposta vai ser 0 1.
Experimenta trocar o tipo do vetor para float e observe o que acontece.

G

Queria armazenar o resultado da divisão no vetor com o maior número, e depois pedir para imprimir.

G

Para armazenar o resultado da divisão e armazenar no maior vetor e depois imprimir, teria como isso?

K

Não entendi o que você quer.

G
Solucao aceita

Faça um algoritmo que leia um vetor de 10 posições de números inteiros
e divida todos os seus elementos pelo maior valor do vetor e armazene o
resultado no mesmo vetor. Mostre o vetor após os cálculos.

Criado 2 de novembro de 2018
Ultima resposta 6 de nov. de 2018
Respostas 7
Participantes 2