terça-feira, 3 de agosto de 2010

Multiplicação de matrizes em JAVA

Essa classe tem como função multiplicar 2 (A e B) , e no exemplo abaixo é feito com duas matrizes 2x2 podendo ser alterada.

package umcastec;


import java.util.Scanner;
import java.lang.*;

public class MultMatriz{

public static void main (String args[]){

Scanner t = new Scanner (System.in);
int a[][]; a = new int[2][2];
int b[][]; b = new int[2][2];
int c[][]; c = new int[2][2];

for (int i= 0; i "<"2; i++){
System.out.println();
for (int j= 0; j "<"2; j++){
System.out.print ("Digite o elemento "+i+ " " +j+" da matriz a: ");
a[i][j] = t.nextInt();
}
}

for (int i= 0; i "<"2; i++){
System.out.println();
for (int j= 0; j "<"2; j++){
System.out.print ("Digite o elemento "+i+ " " +j+ " da matriz b: ");
b[i][j] = t.nextInt();

}
}
System.out.println();
System.out.println("Aqui está sua matriz 2 x 2!");
for (int i = 0; i "<" a.length; i++) {
System.out.println("");
for (int j = 0; j "<" b.length; j++) {
c[i][j]=0;
for (int k = 0; k "<" b.length; k++) {
c[i][j] = c[i][j] + a[i][k] * b[k][j];
System.out.print(" ");
}
System.out.print(c[i][j]);
}
}
System.out.println();
}//fim do main
}//fim da classe

Obs: Nos sinais de "<>" foram colocados aspas "" por causa do Blogger! basta retira-los para funcionar normal!

4 comentários:

Senhor disse...

Como faço uma multiplicação onde o usuário entra como o valor das linhas e colunas, nesse projeto ela faz somente o cálculo de uma matriz quadrada. Preciso muito de um exemplo desses. Obrigado!

UMC disse...

Olá Jimmy Obrigado pela visita.
basta você mudar as matrizes de 2
int a[][];
a = new int[2][2];
ficando com 6
int a[][];
a = new int[6][6];
e não esquecer de mudar no for()

espero que tenha entendido.

Unknown disse...

Boa tarde, sou iniciante em java, gostaria de saber, se teria como fazer o usuario entrar com as ordens das matrizes. Seguindo a regra "o nº de colunas da 1ª deve ser igual ao nº de linhas da 2ª". Agradeço desde já !

UMC disse...

olá Tiago obrigado pela visita e desculpa a demora pela resposta, tem como sim.
depois eu coloco um exemplo.