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

dannyinside

Alterar ordem de tuplos

Recommended Posts

dannyinside

Boas pessoal

A minha duvida é a seguinte

Estrutura:

x=[a,b,c,d,e] <- lista de tuplos

A=("a1",a2,x1) <- ---tuplos com 3 elementos

B=("b1",b2,x2)  |----

x1=[(bla bla bla) (bla bla bla2 ) ...] <- lista de tuplos

...

Eu queria uma funçao que adicionasse um tuplo à lista x1 e que ao devolver o resultado me apresentasse todo o x

Consegui fazer uma com take ++ [tuplo a inserir] ++ drop mas apenas me devolve A

O mesmo se aplica a outra duvida que esta nao consegui fazer de todo, que seria trocar a ordem a 2 tuplos dentro de x1

Ex: funcaoqualquercoisa n n1 = [troca a ordem de n por n1 e vice versa]

Obrigado desde ja :thumbsup:

Share this post


Link to post
Share on other sites
Baderous

x=[a,b,c,d,e] <- lista de tuplos

x1=[(bla bla bla) (bla bla bla2 ) ...] <- lista de tuplos

x não é uma lista de tuplos. É uma lista de coisas (seja lá o que for). Assim como x1, nessa notação, não é uma lista de tuplos, tem de ter vírgula a separar os elementos.

x1 = [(a,b,c),(d,e,f)] -- isto é uma lista de tuplos

Quanto às dúvidas, a primeira tens de a reescrever, porque não percebi o que queres fazer, nem o que tentaste fazer.

A 2ª já tem tido discussão nos últimos tópicos deste quadro, pesquisa por lá.

Share this post


Link to post
Share on other sites
dannyinside

Peço desculpa pela notaçao mas pensei que percebesses visto que pus la as variaveis todas

x=[a,b,c,d,e] <- lista de tuplos

onde a e b ( em x ) sao :

a=("a1",a2,x1) <- ---tuplos com 3 elementos

b=("b1",b2,x2)  |----

x1=[(bla bla bla), (bla bla bla2 ), ...] <- lista de tuplos

Share this post


Link to post
Share on other sites
AJBM

boas eu nao percebi muito bem o que queres, mas pelo que percebi tu tens uma lista de tuplos e dentro dos tuplos tem uma lista com tulos. O teu racicionio do take e do drop esta certo so que tens primeiro fazer uma funcao que te permita aceder

a posicao x1 com pattermaching da.

Share this post


Link to post
Share on other sites
Akinquis

type X = [Pt]

type Pt = (String,Int,Int)

ax::X->Pt->X

ax x a = a:x 

isto corresponde à tua dúvida? Não consigo entender o que estás a pedir

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.