gostaria de saber s m podiam ajudar numa coisa… é k pediram-me para fazer um trabalho k peça para introduzir matrizes, em qualquer base entre 2 e 16 … alguem sabe km o fazer?!
aki vai o codigo k ja possuo:
[quote]import javax.swing.JOptionPane;
public class Main {
public static void menu () {
String x,y,T,numero, op;
int ncolunas_A,nlinhas_A,l,c,i=0,j=0,opcoes;
do {
op=JOptionPane.showInputDialog("Escolha uma opção:\n\n1 - Transposta\n2 - Simetria\n3 - Saír","Menu");
opcoes=Integer.parseInt(op);
switch (opcoes) {
case 1:
int matrizA[][] = new int[100][100];
int matrizB[][] = new int[100][100];
String res = "", ress = "";
// introduzir a matriz A
x=JOptionPane.showInputDialog("Introduza o número de linhas da matriz A:","Linhas?");
nlinhas_A=Integer.parseInt(x);
y=JOptionPane.showInputDialog("Introduza o número de colunas da matriz A:","Colunas?");
ncolunas_A=Integer.parseInt(y);
for ( l=0; l < nlinhas_A; l++ ) {
for ( c=0; c < ncolunas_A; c++ ) {
numero=JOptionPane.showInputDialog("Introduza o valor de a[" + (l+1) + "][" + (c+1) + "] :","Valores?");
matrizA[l][c]=Integer.parseInt(numero);
}
}
// Apresenta a matriz
for ( l=0; l < nlinhas_A; l++ ) {
for ( c=0; c < ncolunas_A; c++) {
res = res + String.format("% 10d",matrizA[l][c]);
}
res = res + "\n";
}
JOptionPane.showMessageDialog(null,"A matriz que inseriu é: \n" + res, "Matriz", JOptionPane.INFORMATION_MESSAGE);
// Cálculo da matriz transposta;
JOptionPane.showMessageDialog(null, "Ao efectuarmos a matriz transposta (A^T) da matriz A obtemos:","Cálculo Transposta",JOptionPane.INFORMATION_MESSAGE);
for ( l=0; l < nlinhas_A; l++ ) {
for ( c=0; c < ncolunas_A; c++ ) {
matrizB[c][l] = matrizA[l][c];
}
}
// Apresentaçao da matriz transposta
for ( c=0; c < ncolunas_A; c++ ) {
for ( l=0; l < nlinhas_A; l++ ) {
ress = ress + String.format("% 10d",matrizB[c][l]);
}
ress = ress + "\n";
}
JOptionPane.showMessageDialog(null,"A matriz transposta é: \n" + ress,"Transposta",JOptionPane.INFORMATION_MESSAGE);
break;
case 2:
int matrizAA[][] = new int[100][100];
int matrizBB[][] = new int[100][100];
String res2 = "", ress2 = "";
T = "";
// introduzir a matriz A
x=JOptionPane.showInputDialog("Introduza o número de linhas da matriz A:","Linhas?");
nlinhas_A=Integer.parseInt(x);
y=JOptionPane.showInputDialog("Introduza o número de colunas da matriz A:","Colunas?");
ncolunas_A=Integer.parseInt(y);
for ( l=0; l < nlinhas_A; l++ ) {
for ( c=0; c < ncolunas_A; c++ ) {
numero=JOptionPane.showInputDialog("Introduza o valor de a[" + (l+1) + "][" + (c+1) + "] :","Valores?");
matrizAA[l][c]=Integer.parseInt(numero);
}
}
// Apresenta a matriz
for ( l=0; l < nlinhas_A; l++ ) {
for ( c=0; c < ncolunas_A; c++) {
res2 = res2 + String.format("% 10d",matrizAA[l][c]);
}
res2 = res2 + "\n";
}
JOptionPane.showMessageDialog(null,"A matriz que inseriu é: \n" + res2, "Matriz", JOptionPane.INFORMATION_MESSAGE);
// Cálculo da matriz transposta;
JOptionPane.showMessageDialog(null, "Ao efectuarmos a matriz transposta (A^T) da matriz A obtemos:","Cálculo Transposta",JOptionPane.INFORMATION_MESSAGE);
for ( l=0; l < nlinhas_A; l++ ) {
for ( c=0; c < ncolunas_A; c++ ) {
matrizBB[c][l] = matrizAA[l][c];
}
}
// Apresentaçao da matriz transposta
for ( c=0; c < ncolunas_A; c++ ) {
for ( l=0; l < nlinhas_A; l++ ) {
ress2 = ress2 + String.format("% 10d",matrizBB[c][l]);
}
ress2 = ress2 + "\n";
}
JOptionPane.showMessageDialog(null,"A matriz transposta é: \n" + ress2,"Transposta",JOptionPane.INFORMATION_MESSAGE);
// Verifica se a matriz é ou não simétrica
if ( nlinhas_A != ncolunas_A ) { // Se a matriz não for quadrada, não pode existir simetria
T = "Falso";
}
else {
for ( i=0; i < nlinhas_A; i++ ){
for ( j=0; j < ncolunas_A; j++ ){
if ( matrizAA[i][j] != matrizBB[i][j] )
{
T = "Falso";
}
}
}
}
if ( T == "Falso" )
{
JOptionPane.showMessageDialog(null, "As matrizes A e A^T não são simétricas!","Simetria",JOptionPane.ERROR_MESSAGE);
}
else
JOptionPane.showMessageDialog(null,"As matrizes A e A^T são simétricas!","Simetria",JOptionPane.INFORMATION_MESSAGE);
break;
case 3: JOptionPane.showMessageDialog(null, "O Programa terminou! Obrigado!");
break;
}
}
while ( opcoes != 3 );
}
public static void main (String [] args) {
JOptionPane.showMessageDialog(null, " Benvindo! ","Apresentação",JOptionPane.INFORMATION_MESSAGE);
menu ();
}
}[/quote]
se alguem me puder ajudar agradecia imenso e já agr se n for pedir mt ihih, alguem sabe algum sitio k m possa dizer, onde eu possa entender o metodo de gauss seidel ?!?!
Abraço “ashibarai”