Como fazer hachuradas de matrizes?
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?
Discussão (1)
Carregando comentários...