Ir ao conteúdo
  • Cadastre-se

Java Escreva um algoritmo que gere aleatoriamente uma matriz M(10,10) e calcula


Visitante

Posts recomendados

Escreva um algoritmo que gere aleatoriamente uma matriz M(10,10) e calcula as somas:

a) da linha 6 de M;

b) da coluna 5 de M;

c) da diagonal principal;

d) da diagonal secundária;

 

Escrever essas somas e a matriz. 

import java.util.Scanner;

public class  {

public static void main(String[] args) {

Scanner leia = new Scanner(System.in);

int linhas = (int) (Math.random() * 20)+1;

int colunas; int numero = 1;

System.out.println("Linhas: "+ linhas + "\n"); int matriz [] [] = new int [linhas] [];

for (int i = 0 ; i < matriz.length; i++ ) { colunas = (int) (Math.random() *20) + 1;

matriz[i] = new int[colunas];

for (int j = 0; j < matriz[i].length;) { matriz[i] [j] = numero++; } }

System.out.println(); System.out.println("\n");

for (int i = 0 ; i < matriz.length; i++) {

System.out.print(i + "\t" + matriz[i].length+ "\t");

for (int j = 0 ; j < matriz[i].length; j++) {

System.out.printf( "%5d", matriz[i] [j] ); }

 

System.out.println(); } } }

 

Estou sem consegui resolver essa questão, queria ajuda de vocês 

Link para o comentário
Compartilhar em outros sites

voce nao pode criar uma matriz de tamanho aleatorio porque o enunciado já te especifica o tamanho dela que deve ser de 10 linhas e 10 colunas, os valores aleatorios somente serão para preencher as posições dentro da matriz.

depois é bem simples resolver  as letras a,b,c e d. voce tanto pode usar laços de repetição (loops )ou fazer manualmente pelos indices.

Link para o comentário
Compartilhar em outros sites

agora, herbertbahia disse:

voce nao pode criar uma matriz de tamanho aleatorio porque o enunciado já te especifica o tamanho dela que deve ser de 10 linhas e 10 colunas, os valores aleatorios somente serão para preencher as posições dentro da matriz.

depois é bem simples resolver  as letras a,b,c e d. voce tanto pode usar laços de repetição (loops )ou fazer manualmente pelos indices.

Então essa parte das linhas e das colunas eu entendi, mas essa parte das letras estou sem entender

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Vou fazer só a letra A, porque o resto aí vai usar a mesma lógica. Aí vai:

 

somaLinha6 = 0;
for(int col = 0; col < 10; col++){
    somaLinha6 += m[5][col]; //Considerando que, em Java e várias linguagens, a primeira linha é a linha zero.
}

 

Aí como eu disse, para fazer os itens B, C e D, é a mesma lógica.

 

Dica 1: A diagonal principal é aquela em que os índices são os mesmos (m[0][0], m[1][1], m[2][2]... e assim por diante.

 

Dica 2: A diagonal secundária vai alternando (m[9][0], m[8][1], ... , m[1][8], m[0][9]).

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!