Matriz Simétrica!

4 respostas
manolo

Pessoal, estou com dúvidas em relação ao código abaixo:

import java.util.*;
public class Ex2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		
		int x, y;
		Boolean z = false;
		System.out.print(" - informe o numero de linhas da matriz: ");
		x = input.nextInt();
		
		System.out.print(" - informe o numero de colunas da matriz: ");
		y = input.nextInt();
		
		int  mat[][] = new int [x][y];
		
		for(int i = 0; i < x; i++){
			for(int c = 0; c < y; c++){
				if(mat[i][c] == mat[c][i]){
					z=true;
				}
			}
		}
		
		if (z)	
    	   	System.out.println("a matriz e simetrica ");
    	 else  	
    	 	System.out.println("a matriz nao e simetrica ");
			
		

	}

}

É o seguinte.

Para mostrar se a matriz é invalida ocorre um erro!

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
	at Ex2.main(Ex2.java:23)

Creio que esteja ocorrendo um problema de estouro!
como posso desenvolver melhor o raciocio deste código?

Obrigado.

4 Respostas

1

provavelmente soh deve funcionar em matriz quadrada n x n

se vc colocar o numero de linhas e colunas diferentes vai ocorrer esse erro

manolo

Ok, mas deve haver outra forma de fazer!
não estou conseguindo desenvolver uma logica coerente.

marlon.carvalho

Manolo, dá uma olhada no código do link abaixo. Ele implementa a ideia de Matriz Simétrica no método isSimetrica. Dá uma olhada na ideia e vê se serve pra você:
http://www.alfredlibrary.org/maven/xref/org/alfredlibrary/utilitarios/matematica/Matriz.html

J

Tenta comparar linha por linha e coluna por coluna.

Criado 27 de maio de 2010
Ultima resposta 27 de mai. de 2010
Respostas 4
Participantes 4