jean_br 0 Denunciar post Postado Dezembro 6, 2006 Salve salve.... primeiramente CORRIJINDO O TÍTULO DO TÓPICO: É DESDOBRAMENTO e não desmembramento (só pra mim mesmo :wacko: :wacko: ) seguinte: tenho os seguintes número: 1 - 2 - 3 - 4 gostaria de desdobrá-los conforme tabela abaixo, sem que os n. se repitam: 123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432 porém gostaria tm de fazer esse desdobramento com 5 unidades 1 - 2 - 3 - 4 - 5 algué poderia me dar uma luz de como começar? um abraço e desde já obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 6, 2006 function sequencias($s = array()) { $na = array(); foreach($s as $chave => $valor) { for ($num=0;$num<count($s);$num++) { if (array_search($valor,$s)!=$num) $na[] = $valor.$s[$num]; } } $ua = array(); foreach($na as $chave => $valor) { for($num=0;$num<count($s);$num++) { if (substr_count($valor,$s[$num])==0) $ua[] = $valor.$s[$num]; } } return $ua;}Usa-se: $a = sequencias(array(1,2,3,4));var_dump($a); Pode colocar quantos números quiser: $a = sequencias(array(1,2,3,4,5,6,7,8,9));var_dump($a); Vai sempre gerar sequencias de 3 números sem repetição. Compartilhar este post Link para o post Compartilhar em outros sites
jean_br 0 Denunciar post Postado Dezembro 7, 2006 Aí Alisson.. valeu carinha.. era isso mesmo....só utilizer o print_r no lugar do var_dump para listar um resultado mais "limpo"só não sei como pôr os resultados em linha como na tabela que um mostrei....será que tem como? Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 7, 2006 Sei lá, algo assim: foreach($a as $chave => $valor) { if ($a[$chave-1][0]!=$valor[0] && $chave!=0) print "<br />"; print $valor." ";} http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
jean_br 0 Denunciar post Postado Dezembro 7, 2006 ok perfeito....era isso mesmo...valeuobrigado pela ajuda... um abraço e FELICIDADES........ Compartilhar este post Link para o post Compartilhar em outros sites
jean_br 0 Denunciar post Postado Dezembro 7, 2006 Putz....com sequencia de 3 n. não vai dar... terá que ser sequencia de 4 n. sem petição....fiz algumas tentativas aqui e não consegui, até porque meu conhecimento é meio limitadocomo faço pra acrescentar mais uma unidade deixando com 4 n.?desculpa aí transtorno....... Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 7, 2006 Só mudar a função: function sequencias($s = array()) { $na = array(); foreach($s as $chave => $valor) { for ($num=0;$num<count($s);$num++) { if (array_search($valor,$s)!=$num) $na[] = $valor.$s[$num]; } } $ua = array(); foreach($na as $chave => $valor) { for($num=0;$num<count($s);$num++) { if (substr_count($valor,$s[$num])==0) $ua[] = $valor.$s[$num]; } } $ma = array(); foreach($ua as $chave => $valor) { for ($num=0;$num<count($s);$num++) { if (substr_count($valor,$s[$num])==0) $ma[] = $valor.$s[$num]; } } return $ma;} http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Dezembro 7, 2006 Olha q legal, ficou bem mais bunitinho, vou até postar no laboratório: function sequencias($s = array(),$tam) { if ($tam>count($s)) return FALSE; $a[0] = $s; for ($nq=1;$nq<$tam;$nq++) { $a[$nq] = array(); foreach($a[$nq-1] as $chave => $valor) { for ($num=0;$num<count($s);$num++) { if (substr_count($valor,$s[$num])==0) $a[$nq][] = $valor.$s[$num]; } } } return end($a);} Daí é só colocar no 2° argumento da função a quantidade de números que você quer, tipo: $a = sequencias(array(1,2,3,4,5),4); http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
jean_br 0 Denunciar post Postado Dezembro 7, 2006 Alisson.... salvou meu dia... valeu carinha... juro que agora não te incomodo mais. um abraço... FELICIDADES. Compartilhar este post Link para o post Compartilhar em outros sites
medonho 0 Denunciar post Postado Junho 28, 2007 e pra fazer com números repetidos o que eu tenho que alterar? tipo:$a = sequencias(array(1,1,1,4,5),4); Compartilhar este post Link para o post Compartilhar em outros sites