crislanio_macedo Posted April 21, 2015 at 08:50 PM Report Share #581600 Posted April 21, 2015 at 08:50 PM (edited) Olá a todos, ao tentar inserir numa árvore de multiconjuntos acontece o seguinte erro. [1 of 1] Compiling Main ( Multiconjunto.hs, interpreted ) Multiconjunto.hs:6:1: Equations for `inserir' have different numbers of arguments 18Multiconjunto.hs:6:1-38 18Multiconjunto.hs:(7,1)-(13,46) Failed, modules loaded: none. Como poderia corrigir esses números diferentes de argumentos ? data MConj a = Vazia | No a Int (MConj a) (MConj a) deriving (Show, Eq) -- No 'A' 2 Vazio (No 'B' 1 Vazio Vazio) inserir x a Vazia = No x a Vazia Vazia inserir x (No e a esq dir) | x==e = No e a (inserir x a esq) dir | x = No e a (inserir x a esq) dir | x>e = No e a esq (inserir x a dir) Edited April 21, 2015 at 08:51 PM by crislanio_macedo Link to comment Share on other sites More sharing options...
crislanio_macedo Posted April 21, 2015 at 09:18 PM Author Report Share #581603 Posted April 21, 2015 at 09:18 PM (edited) Deu certo !!! data MConj a = Vazia | No a Int (MConj a) (MConj a) deriving (Show, Eq) -- *Main> let a = No 'A' 2 Vazia (No 'B' 1 Vazia Vazia) -- *Main> inserir 'C' 2 a -- No 'A' 2 Vazia (No 'B' 1 Vazia (No 'C' 2 Vazia Vazia)) -- *Main> let c = No 'A' 2 Vazia (No 'B' 1 Vazia (No 'C' 2 Vazia Vazia)) -- *Main> inserir 'C' 3 c -- No 'A' 2 Vazia (No 'B' 1 Vazia (No 'C' 2 (No 'C' 3 Vazia Vazia) Vazia)) inserir x a Vazia = No x a Vazia Vazia inserir x c (No e i esq dir) | x==e = No e i (inserir x c esq) dir | x = No e i (inserir x c esq) dir | x>e = No e i esq (inserir x c dir) {- *Main> let a = No 'A' 2 Vazia (No 'B' 1 Vazia Vazia) *Main> a No 'A' 2 Vazia (No 'B' 1 Vazia Vazia) *Main> listar a "AB" -} listar :: MConj a -> [a] listar Vazia = [] listar (No x e esq dir) = x:((listar esq) ++ (listar dir)) Edited April 21, 2015 at 09:18 PM by crislanio_macedo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now