Ir ao conteúdo

Posts recomendados

Postado

Bom dia! Segue Exercício, porém o que esta de errado na minha estrutura pois minha matriz não fica simétrica. Me ajudem!!!!

 

Faça um algoritmo para ler uma matriz A de ordem 5x5 de números inteiros e verificar se a matriz é ou não simétrica. Dizemos que uma matriz é simétrica quando todo elemento aij é igual ao elemento aji, para todo i, j ≤ 5

var
simetrica: logico
I: inteiro
J: inteiro
N: inteiro
matrizA : vetor [1..5,1..5] de real
inicio
//Secão de comandos
simetrica <- verdadeiro
para I de 1 ate 5 faca
para J de 1 ate 5 faca
leia(matrizA[I,J])
fimpara
fimpara
escreval("MATRIZ A")
simetrica <- verdadeiro
para i de 1 ate 5 faca
para j de 1 ate 5 faca
escreva(matrizA[I,J]," ")
fimpara
escreval(" ")
fimpara
simetrica <- verdadeiro
para I de 1 ate 5 faca
para J de 1 ate 5 faca
se ( matrizA[I,J] <> matrizA[J,I] ) então
simetrica <- falso
fimse
fimpara
se ( simetrica = verdadeiro ) então
escreval ("A matriz é simétrica!")
senao
escreval("A matriz não é simétrica!")
fimse
fimpara

fimalgoritmo

 

  • Curtir 1
Postado

@Vanderléia Schaikoski Kalatay     seu código está funcionando bem,  experimente digitar uma matriz simétrica e ela mostra o resultado certo,

este números representam uma matriz simetrica
  
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

aqui seu código organizado e identado .

Algoritmo "matriz simetrica"
  var
  simetrica: logico
  I: inteiro
  J: inteiro
  N: inteiro
  matrizA : vetor [1..5,1..5] de real
inicio
//Secão de comandos
  simetrica <- verdadeiro   // digite esta matriz ela é simetrica
  para I de 1 ate 5 faca          //   1 2 3 4 5
    para J de 1 ate 5 faca        //   2 3 4 5 6
      leia(matrizA[I,J])          //   3 4 5 6 7
    fimpara                       //   4 5 6 7 8
  fimpara                         //   5 6 7 8 9
  escreval("MATRIZ A")
  simetrica <- verdadeiro
  para i de 1 ate 5 faca
    para j de 1 ate 5 faca
      escreva(matrizA[I,J]," ")
    fimpara
    escreval(" ")
  fimpara
  simetrica <- verdadeiro
  para I de 1 ate 5 faca
    para J de 1 ate 5 faca
      se ( matrizA[I,J] <> matrizA[J,I] ) ENTÃO
        simetrica <- falso
      fimse
    fimpara
    se ( simetrica = verdadeiro ) ENTÃO
      escreval ("A matriz é simétrica!")
    senao
      escreval("A matriz não é simétrica!")
    fimse
  fimpara
fimalgoritmo

 

  • Membro VIP
Postado

Olá a todos.

 

Em 26/11/2017 às 08:56, Vanderléia Schaikoski Kalatay disse:

simetrica <- verdadeiro
para I de 1 ate 5 faca
   para J de 1 ate 5 faca
      se ( matrizA[I,J] <> matrizA[J,I] ) então
         simetrica <- falso
      fimse
   fimpara
   se ( simetrica = verdadeiro ) então
      escreval ("A matriz é simétrica!")
   senao
      escreval("A matriz não é simétrica!")
   fimse
fimpara

 

@Vanderléia Schaikoski Kalatay, você precisa apenas tirar o se/senão de dentro dos para. Como consequência, o mesmo vale para o código do @devair1010. Primeiro obtém o resultado final de simetrica, depois analise este.

 

 

Outro ponto importante: como citado, «uma matriz é simétrica quando todo elemento aij é igual ao elemento aji», ou seja, para não ser simétrico, basta ser "não todo", correto? A negação de todo é "pelo menos um não ser". Logo, ao achar uma posição aij que não é igual a aji, não será mais necessário continuar verificando. (se uma posição não é igual, não importa as outras... necessariamente não será simétrico, logo, "tem" que parar de continuar verificando).

 

 

PS: como o que o se precisa é de uma resposta lógica, não é necessário criar uma expressão. Pode usar a própria variável que já é lógica por si só:

    se (simetrica) ENTÃO
      escreval ("A matriz é simétrica!")
    senao
      escreval("A matriz não é simétrica!")
    fimse

 

PS2: se fosse um "simetrico = false", seria:

    se (nao simetrica) ENTÃO
      escreval("A matriz não é simétrica!")
    senao
      escreval ("A matriz é simétrica!")
    fimse

 

 

 

No aguardo.

 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!