Boas galera brasileira!
Então é assim, foi-me proposto um trabalho na faculdade em k eu ando, que m pedia para fazer um programa k pedisse 2 matrizes, e que de seguida o programa fizesse a multiplicaçao dessas mesmas matrizes introduzidas… ja tenho a parte do codigo necessaria, excepto a parte da multiplicaçao que nao sei fazer
a gente faz os programas importando o javax.swing.JOptionPane… eu n tenho bases de programaçao por isso tou um bocado aflito
se m puderem ajudar…
Aki vai o pedaço de código k tenho até agr:
import javax.swing.JOptionPane;public class Main {
public static void main(String[] args) { int [][] MatrizA = new int[100][100]; int [][] MatrizB = new int[100][100]; int [][] MatrizC = new int[100][100]; String a,b,c,d,numero; int nlinhas_A,nlinhas_B,ncolunas_A,ncolunas_B,j,q,w,i,x,t; do { // introduzir a matriz A a=JOptionPane.showInputDialog("Introduza o número de linhas da matriz A:","Linhas?"); nlinhas_A=Integer.parseInt(a); b=JOptionPane.showInputDialog("Introduza o número de colunas da matriz A:","Colunas?"); ncolunas_A=Integer.parseInt(b); // introduzir a matriz B c=JOptionPane.showInputDialog("Introduza o número de linhas da matriz B:","Linhas?"); nlinhas_B=Integer.parseInt(c); d=JOptionPane.showInputDialog("Introduza o número de colunas da matriz B:","Colunas?"); ncolunas_B=Integer.parseInt(d); // verificaçao do numero linhas/colunas da matriz A e B if ( ncolunas_A != nlinhas_B ) { JOptionPane.showMessageDialog(null,"O número de colunas da matriz A não é igual ao número linhas da matriz B.\n Por favor introduza de novo o número de linhas/colunas da matriz A/B, \n de modo a que o número de colunas da matriz A seja igual ao número de colunas da matriz B.", "Erro", JOptionPane.ERROR_MESSAGE); } } while ( ncolunas_A != nlinhas_B ); // valores dos elementos da matriz A for (i=1;i<=nlinhas_A;i++) { for (j=1;j<=ncolunas_A;j++) { numero=JOptionPane.showInputDialog("Introduza o valor de a[" + i + "],[" + j + "] :","Valores?"); MatrizA[i][j]=Integer.parseInt(numero); } } // valores dos elementos da matriz B for (q=1;q<=nlinhas_B;q++) { for (w=1;w<=ncolunas_B;w++) { numero=JOptionPane.showInputDialog("Introduza o valor de b[" + q + "],[" + w + "] :","Valores?"); MatrizB[q][w]=Integer.parseInt(numero); } } // resoluçao JOptionPane.showMessageDialog(null,"A matriz multiplicação (C) é:","Multiplicação",JOptionPane.INFORMATION_MESSAGE); } }</blockquote>** Já agr se m puderem explicar cm se faz a transposta de uma matriz
aki está outro bocado d codigo d uma programa k ja fiz, mas falta a transposta
a parte da apresentaçao da matriz da mal pk aparece um “null” a mais, e por isso n alinha a 1ª linha da matriz…
import javax.swing.JOptionPane;public class Main {
public static void main (String [] args) { int matrizA[][] = new int[100][100]; int matrizB[][] = new int[100][100]; String a,numero, res = null, ress = null; int lc,b,c,T; // Pedido do número de linhas/colunas e os elementos de uma dada matriz á escolha; // Admite-se que não se pode introduzir matriz não quadrada; a=JOptionPane.showInputDialog("Qual o número de linhas/colunas da matriz? (matriz quadrada) :"); lc=Integer.parseInt(a); for (b=1;b<=lc;b++) { for (c=1;c<=lc;c++) { numero=JOptionPane.showInputDialog("Introduza o valor de a[" + b + "][" + c + "] :"); matrizA[b][c]=Integer.parseInt(numero); } } for (b=0;b<=lc;b++) { for (c=0;c<=lc;c++) { b += 1; c += 1; res = res + String.format("% 10d",matrizA[b][c]); b -= 1; c -= 1; } res = res + "\n"; } JOptionPane.showMessageDialog(null,"A matriz que inseriu é: \n" + res); // Cálculo da matriz transposta; JOptionPane.showMessageDialog(null, "A matriz está completa!"); JOptionPane.showMessageDialog(null, "Ao efectuarmos a matriz transposta (A^T) da matriz A obtemos:"); // falta calculo da transposta for (b=1;b<=lc;b++) { for (c=1;c<=lc;c++) { b += 1; c += 1; matrizB[c][b] = matrizB[c][b] + matrizA[b][c]; b -= 1; c -= 1; } } // apresentaçao da matriz transposta for (c=0;c<=lc;c++) { for (b=0;b<=lc;b++) { b += 1; c += 1; ress = ress + String.format("% 10d",matrizB[c][b]); b -= 1; c -= 1; } ress = ress + "\n"; } JOptionPane.showMessageDialog(null,"A matriz transposta é: \n" + res); /* // Verifica se a matriz é ou não simétrica; T=0; for (b=1;b<=lc;b++) for (c=1;c<=lc;c++) { if ( matrizA[b][c]!=matrizB[b][c] ) { T = 0; break; } else T = 1; } if ( T == 1 ){ JOptionPane.showMessageDialog(null, "A matriz introduzida pelo utilizador é simétrica!"); } else JOptionPane.showMessageDialog(null,"A matriz introduzida pelo utilizador não é simétrica!"); JOptionPane.showMessageDialog(null,"O programa terminou!"); */}}
Entrei um bocado a pressao mas tou a precisar d ajuda e confio aki no pessoal
Obrigado!
