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 + ")");
}
}
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
Curtir tópico
+ 0
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.
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
Clique aqui para fazer login e interagir na Comunidade :)