Pessoal estou com uma duvida de como fazer uma multiplicação de valores em uma dada coluna da matriz. Ex : Tem uma matriz 4x2, ai o usuário digita os valores dela e eu tenho que retornar pra ele a multiplicação dos valores de uma dada coluna que ele escolher.
Qual dúvida?
A dúvida ficou implícita em:
Você pode codificar um método que recebe o valor da coluna (válido) e faça a iteração pelas linhas e usando o valor da coluna passada como parâmetro:
private int multiplicarColuna(int coluna){
int produto = 1;
for(int i = 0; i < matriz.length; i++){
produto *= matriz[i][coluna - 1];//Para valores de 1 a n
}
return produto;
}
fiz aqui mas n deu certo, deve ser pq eu sou iniciante ainda =(
Exemplo:
import java.util.Scanner;
public class MultiplicacaoMatricial {
private int[][] matriz;
private void preencherMatriz(short numeroLinhas, short numeroColunas){
Scanner leitor = new Scanner(System.in);
System.out.println("\n");
for(int i = 0; i < numeroLinhas; i++){
for(int j = 0; j < numeroColunas; j++){
System.out.print("Matriz[" + i + "][" + j + "]= ");
matriz[i][j] = leitor.nextInt();
}
}
}
private void exibirMatriz(){
System.out.println("\nMatriz:");
for(int i = 0; i < matriz.length; i++){
for(int j = 0; j < matriz[0].length; j++){
System.out.printf("%05d ", matriz[i][j]);
}
System.out.println("");
}
}
private int multiplicarColuna(short coluna){
int produto = 1;
for(int i = 0; i < matriz.length; i++){
produto *= matriz[i][coluna - 1];//Para valores de 1 a n
}
return produto;
}
public static void main(String[] args){
short linhas;
short colunas;
short colunaOperavel;
Scanner leitor = new Scanner(System.in);
MultiplicacaoMatricial matrix = new MultiplicacaoMatricial();
System.out.println("\nMultiplicação matricial");
System.out.print("Número de linhas: ");
linhas = leitor.nextShort();
System.out.print("Número de colunas: ");
colunas = leitor.nextShort();
matrix.matriz = new int[linhas][colunas];
matrix.preencherMatriz(linhas, colunas);
matrix.exibirMatriz();
System.out.print("\nColuna a ser multiplicada (de 1 a " + (colunas) +"): ");
colunaOperavel = leitor.nextShort();
if(colunaOperavel >=0 && colunaOperavel <= colunas)
System.out.println("\nProduto obtido: " + matrix.multiplicarColuna(colunaOperavel));
else
System.out.println("\nA coluna informada é inválida!");
}
}
Rodando…
Muito obrigado msm funcionou. Grato pela atenção.
Marque a questão como respondida para melhorar o fórum e ajudar outros com a mesma dúvida.
