MATRIZES / VETORES - NetBeans - Java

01/10/2022

0

Cheguei ate esse ponto e não estou conseguindo fazer o restante, alguém pode me ajuda ?
falta :
-números serem pares
-número das linhas com maior e menor
-posição da linha, coluna de maior e menor
Achoo q é isso :)

Faça um algoritmo que preencha uma matriz de 10x10 com números pares aleatórios entre 100 e 500.
Exiba a matriz gerada.
Após informe:
 O número da linha com a maior soma;
 O número da linha com a menor soma;
 A posição (linha, coluna) do maior elemento;
 A posição (linha, coluna) do menor elemento;


public static void main(String[] args) {
int mat[][] = new int[10][10];
int soma = 0;
for (int x = 0; x < 10; x++) {
for (int y = 0; y < 10; y++) {
mat[x][y] = (int) (100 + Math.random() * 400);

}
}
for (int x = 0; x < 10; x++) {
soma = 0;
for (int y = 0; y < 10; y++) {
System.out.print(mat[x][y] + "\t");
soma = soma + mat[x][y];
}
System.out.println("-Soma " + "(" + soma + ")");
}

}
Lucas

Lucas

Responder

Posts

26/12/2022

Arthur Heinrich

Da forma como você escreveu, está gerando números inteiros. O problema pede números pares.

Gere números que vão de 50 a 250 e multiplique por 2.

Outro problema é que a função random pode gerar números na faixa: 0 <= random < 1

Como ele nunca é 1, ao truncar o número não chega no último. Seu algoritmo provavelmente gerou números de 100 a 499 e não de 100 a 500.

Para resolver o problema de forma eficiente, preencha a sua matriz uma linha por vez, ao invés de uma coluna por vez. Assim, sempre que começar a preencher uma linha, você pode zerar a soma de seus elementos e somar cada elemento gerado.

Ao final, compare com a linha que teve a maior soma até o momento e, se for maior, substitua pela linha atual. O mesmo se aplica às linhas com menor valor ou às células com maior e menor valor.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar