• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jonasss

matriz em haskell

8 mensagens neste tópico

boas eu estou fazer um trabalho em haskell  , vou começar a faze-lo . para isso tenho que declarar um tabuleiro X x y .

Queria saber se pode defenir matrizes em haskell , ou será tipo listas debaixo de listas. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma lista de listas deve ser o ideal para o teu caso. Por exemplo, o tabuleiro

 yy  x
xyxy x

Daria, por exemplo, a lista

[[x][y,y],[x,y],[y],[],[x,x]]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Rui Carlos, sera que podes explicar o que é que o teu código representa?

é Que..Os miolos ficaram em papa a olhar para código durante 1 hora -.-

Passo-a-passo ou assim  :-[

obrigado pela vossa ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cada sublista representa uma coluna do tabuleiro. O primeiro elemento da sublista é o que está mais abaixo na coluna, o segundo é o elemento que está em segundo a contar do fim, etc.

O código apenas pretendia exemplificar a minha ideia para armazenar um tabuleiro, não está a implementar nada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu fui investgar e ate me esqueci de responder

Ja tinha percebido, mas obrigado pela explicação e pelo tempo dispensado!  :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sei que este tópico já passou mas vou dar o meu contributo, o Haskell tem uma classe Array ela nos possibilita trabalhar lindamente com vectores e matrizes, tenho aqui um exemplo para mostrar para vocês :

matrizZero :: Int -> Int -> Array (Int,Int) Int
matrizZero x n = array ((1,1),(x,n)) [((i,j),0)|i<-[1..x],j<-[1..n]]

Esta uma matriz nxm

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sei que este tópico já passou mas vou dar o meu contributo, o Haskell tem uma classe Array ela nos possibilita trabalhar lindamente com vectores e matrizes, tenho aqui um exemplo para mostrar para vocês :

matrizZero :: Int -> Int -> Array (Int,Int) Int
matrizZero x n = array ((1,1),(x,n)) [((i,j),0)|i<-[1..x],j<-[1..n]]

Esta uma matriz nxm

Bom dia brother! Poderia dar uma dica a respeito dessa primeira linha,

pois no terminal do GHCi tento executar a mesma ocorre o seguinte erro:

Not in scope: type constructor or class Array

este mesmo problema estou tendo ao tentar rodar o exemplo seguinte:

factorial :: Integer -> Integer

factorial n = if n > 0 then n * factorial (n-1) else 1

Editado por thoga31
GeSHi
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora