Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

snowstormdelivery

Como fazer hachuradas de matrizes?

Recommended Posts

Gente, eu não estou conseguindo pensar em como fazer uma hachurada, seja ela superior, inferior ou lateral! Pra falar a verdade, eu até consegui, a partir de alguns códigos, mas eles não utilizam de recursividade ou são muito longos.

Para fazer a hachurada superior, por exemplo, eu fiz com que o algoritmo detectasse as diagonais e colunas indesejadas e não escrevesse estas, assim mostrando a hachurada superior. Este código pode ser modificado para mostrar outras hachuradas, mas acredito que exista algum mais eficiente ou melhor de ler.

 

Segue o código:

algoritmo "semnome"
var
Lin, Col:inteiro
M: vetor [1..6,1..6] de inteiro
inicio
   //Leitura de elementos
   Para Lin := 1 ate 6 faca
      Para Col := 1 ate 6 faca
         Leia (M[Lin, Col])
      FimPara
   FimPara
   LimpaTela
   //Escreve a matriz completa
   Para Lin := 1 ate 6 faca
      Para Col := 1 ate 6 faca
         Escreva (M[Lin, Col]:3)
      FimPara
      EscrevaL()
   FimPara
   EscrevaL()
   //Escreve hachurada superior
   Para Lin := 1 ate 6 faca
      Para Col := 1 ate 6 faca
         Se (Lin + Col = 7) ou (Lin = Col) ou (Col = 1) ou (Col = 6) ou (Lin > 2) entao
            Escreva("":3)
         Senao
            Escreva (M[Lin, Col]:3)
         FimSe
      FimPara
      EscrevaL()
   FimPara
fimalgoritmo

Alguém poderia me ensinar alguma forma para entender as hachuradas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.