Matriz Simetria

6 respostas Resolvido
netbeansjava
PeppeFYB

Galera estou fazendo um método para matriz simétrica, porem minha professora disse que estou perdendo muito tempo, e sempre que eu testo o método da que é simétrica (e olha que estou rodando os números da matriz aleatoriamente.
Sera que alguém pode me ajudar?
Acho que estou errando no boolean, to confuso estava fazendo de um jeito ela mandou mudar e usar um método sem fazer um método pra fazer a transposta e comparar.
O código esta assim:

public boolean simetrica() {

for (int l = 0; l < matriz.length; l++) {

for (int c = 0; c < matriz[l].length; c++) {

if (matriz[l][c] == matriz[c][l]) {

return true;

}
}

    }
    return true;
}

6 Respostas

staroski

Em que situação seu método vai retornar false?

PeppeFYB

Teria que ser:
Matriz [l][c] !=(acho que é assim que faz o diferente) Matriz [c] [l];
Porem por ser somente uma estrutura “if” sou obrigado a colocar o else? E se sim eu tenho um pouco de dificuldade de usar Boolean entao nao sei como fazer exatamente isso na estrutura, pode me ajudar se nao for MTO encomodo?

staroski

Então é só ajustar sua lógica:

if (matriz[l][c] != matriz[c][l]) {
    return false;
}

Você só vai usar o else quando tiver algo pra fazer nele.
No seu caso, você só precisa tratar o se ou precisa de um senão?

PeppeFYB

Entao, no caso do jeito que montei tratei o “se”

If(matriz [l] [c] == matriz [c] [l]){
Return true;}

Tenho que fazer u

Else (matriz [l] [c] != Matriz [c] [l]){

Return false;}
É isso? Ou posso so tratar:

If((lmatriz [l] [c] != Matriz [c] [l]){

Return false;}

Que o true ja fica subentendido?
staroski
Solucao aceita
public boolean simetrica() {
    for (int l = 0; l < matriz.length; l++) {
        for (int c = 0; c < matriz[l].length; c++) {
            if (matriz[l][c] != matriz[c][l]) {
                return false; // se cair aqui, o resultado é false
            }
        }
    }
    return true; // se chegar até aqui, fica subentendido que o resultado é true
}
PeppeFYB

Mto obgd Cara me ajudou bastante!!!

Criado 8 de outubro de 2019
Ultima resposta 8 de out. de 2019
Respostas 6
Participantes 2