Ir ao conteúdo

Matrix 3 x 3 Erro ao Subtrair


robersoncomputer

Posts recomendados

Postado




import java.util.Random;
import java.util.Scanner;

/**
* Inicializar uma matriz bidimensional quadrada (3X3) do tipo inteiro, subtrair
* a 3° Coluna dela por 1. Mostrar a matriz original e a resultante.
*/
public class Matriz3x3Sub {

public static void main(String[] args) {
int matriz[][] = new int[3][3];
int matSub[][] = new int[3][3];

// Random numero = new Random();

for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {

Scanner digite = new Scanner(System.in);
System.out.println("Digite valor para Matriz Linha [" + (l + 1)
+ "] Coluna [" + (c + 1) + "]");
matriz[l][c] = digite.nextInt();

}
}

// apresentando a matriz
System.out.println("\n Matriz original ");
for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {
if (c == 2)
matSub[l][c] = matriz[0][c] - 1;


System.out.println("\n matriz [" + (l + 1) + "],[" + (c + 1)
+ "] = " + matSub[l][c]);

}


}


}
}

apenas praticando este exercicio e nao estou entendendo imprime e tudo mais nao ta fazendo o que quero que é sub a 3 coluna por 1 nao sei qual é o erro algum pode me orientar ?

Postado

apos 24 horas em cima fiz dessa forma deu certo, caso nao seja assim me falem, agora queria inicializar ao invés de digitar alguém pode me dar uma dica ?

  Citação

public static void main(String[] args) {

int matrizA[][] = new int[3][3];

// int matB[][] = new int[3][3];

// Random numero = new Random();

for (int l = 0; l <= 2; l++) {

for (int c = 0; c <= 2; c++) {

Scanner digite = new Scanner(System.in);

System.out.println("Digite valor para Matriz Linha [" + (l + 1)

+ "] Coluna [" + (c + 1) + "]");

matrizA[l][c] = digite.nextInt();

}

}

// apresentando a matriz

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

for (int l = 0; l <= 2; l++) {

for (int c = 0; c <= 2; c++) {

//apresenta a minha matriz original

System.out.println("\n matriz [" + (l + 1) + "],[" + (c + 1)

+ "] = " + matrizA[l][c]);

//apresentar le cada linha e coluna ate chegar aoobjetivo que e apnas 3 coluna

if (c == 2)// se coluna for igual a 2, quer dizer que estou na

// terceira coluna e quero apenas os elementos da terceira coluna

matrizA[l][c] = matrizA[l][c] - 1;

//matriz linha e coluna recebe ela mesma linha e coluna -1;

}

}

//dois for para apresentar a matriz resultanti

System.out.println("\nMatriz resultanti ");

for (int l = 0; l <= 2; l++) {

for (int c = 0; c <= 2; c++) {

System.out.println("\n\nResultanti [" + (l + 1) + "],[" + (c + 1)

+ "] = " + matrizA[l][c]);

}

}

}

}

inicializei se esta certo nao sei se devof azer desta maneira, fui aumentando os valores la de dentro matrizA[l][c] = numero.nextInt(10); e os zeros que antes inicializava agora nao aparecem so nao entendi a questao do 10 seria de 0 ate 10 os numeros inicializados ?

  Citação

Random numero = new Random();

for (int l = 0; l <= 2; l++) {

for (int c = 0; c <= 2; c++) {

matrizA[l][c] = numero.nextInt(10);

Postado

Sim do jeito que você fez Dara certo, o seu problema no primeiro exemplo era que você não inicializou matSub = matriz. Se tivesse colocado isso dentro do for que lê a matriz principal teria dado certo.

Para usar a classe Random() faça o seguinte:


...
Random aleatorio = new Random();
matrizA[l][c] = aleatorio.nextInt(X);
...

Ali você declarou que aleatório é um objeto da classe Random. O método .nexInt(x), retorna um inteiro de X permutações ou de 0 ate X-1, se preferir. Nota que pode-se usar o +Y para deslocar a sequência. Por exemplo nextInt(10) ira retorna um numero de 0 ate 9, nexInt(10)+1, ira retornar um numero de 1 ate 10.

Espero ter ajudado, qualquer duvida posta aqui.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!