[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Combinando valores do array



Sei que essa questão é um pouco antiga mas tem alguma maneira de desenrolar essa combinação em paralelo?

Em 30 de março de 2016 10:02, Linux - Junior Polegato <linux@juniorpolegato.com.br> escreveu:
Em 30-03-2016 02:15, real bas escreveu:
Olá pessoal sei q nao eh o local ideal, mas temos varias pessoas da area aqui, então vale a pena tentar pra ver se tenho alguma ajuda (nao eh uma questao simples assim).
Eu preciso combinar varios valores de um array, porem cada posicao do array pode assumir varios valores (array de array e tamanhos diferentes), nao sei qual a melhor maneira de resolver isso.
Por exemplo, tenho um array A tamanho N = 3:
A[3] = { {4,5}, {1}, {3,6,7} }
Aqui tenho 2, 1 e 3 valores em cada posição de A, como posso fazer pra desenrolar esse array e formar 6 arrays (tal que eu tenha os 3 valores distintos nos 6 arrays) da seguinte maneira?
R:
{4,1,3}
{4,1,6}
{4,1,7}
{5,1,3}
{5,1,6}
{5,1,7}

Olá!

        Faltou especificar a linguagem, mas vão 2 exemplos:

        Linguagem Python (cada variável/constante carrega consigo seu tipo, tamanho e dados, e possibilita iterar diretamente sobre um vetor, além de controle de memória e rica em funções e funcionalidades):

A = [[4, 5], [1], [3, 6, 7]]
R = reduce(lambda a, b: [(c if isinstance(c, list) else [c]) + [d] for c in a for d in b], A)
for r in R:
    print r

        Linguagem C (tudo ao seu controle, mas precisa controlar tudo, não guarda o tamanho dos vetores, então tem que fornecer):

https://gist.github.com/JuniorPolegato/f26ff7511958287c5fa84291c7082c77


--

[]'s

Junior Polegato



Reply to: