Ir ao conteúdo
  • Cadastre-se

VisualG Faça um algoritmo para ler uma matriz A de ordem 5x5 de números


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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
Link para o comentário
Compartilhar em outros sites

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...