Pesquisar na Comunidade
Mostrando resultados para as tags ''recursivo''.
Encontrado 3 registros
-
Saudações amigos, estou com dificuldade em fazer um código recursivo em C. Basicamente o algorítimo pega um vetor e faz as combinações entre os valores desse vetor. Um exemplo de um vetor de 3 posições {0,1,2}, sua combinação seria a={0,1} b={0,2} e c={1,2}. Tenho um código que printa essas combinações, segue abaixo: void comb(int v[],int n){ int i,j; for(i=0;i<n-1;i++){ for(j=i+1,j<n;j++) printf("%d %d \n",v[i],v[j]); } } Como ficaria ele recursivo? Visto que ao variar n, é acrescentado mais um for dentro do segundo loop, veja um exemplo com 3 posições: void comb(int v[],int n){ int i,j,k; for(i=0;i<n-2;i++){ for(j=i+1,j<n-1;j++){ for(k=j+1;k<n;k++) printf("%d %d %d \n",v[i],v[j],v[k]); } } } Venho quebrando a cabeça a dias e não encontro a solução. Gostaria de armazenar o resultado das combinações em outro vetor, minha ideia foi pra algo nesse sentido: int *combR(int v[],int n,int k){ int i,*r; r=("função Recursiva"); return r; } //k = posição da combinação. Ex: k=0 {0,1,2}, k=1 {0,1,3} k=2 {0,2,3}....
-
Olá, tenho esse código onde uma função recursiva recebe um vetor de 6 elementos e devolve na tela os valores do vetor na ordem original e na ordem invertida; Consegui mostra os valores na ordem original, mas na ordem invertida está bugando... alguém pode dá uma olhada nisso e identificar onde está o erro? #include <stdio.h> int pos=0; int inv(int num,int vet[]){ if(num <= pos){ return vet; }else{ int aux = vet[num]; vet[num] = vet[pos]; vet[pos] = aux; pos++; return inv(--num, vet); } } main(){ int i, p = 6; int vet[6]={5,1,8,7,2,0}; printf("Ordem original:"); for (i=0;i<p;i++) { printf("%d",vet[i]); } int *veti = inv(p,vet); printf("\nOrdem invertida:"); for (i=0;i<p;i++){ printf("%d", veti[i]); } }
-
Se alguém puder ajudar, agradeço imenso :D Tenho um "tree menu" num site que estou a construir. Não sei como inserir um novo item no menu com um CRUD, ou seja, se quiser adicionar um novo botão, tenho de dizer qual o idPai onde quero inserir o botão, certo? Os "idPai" serão os existentes (nenhum novo poderá ser criado), mas poderiamos criar "filhos" sem limite. Gostaria que essa lista (idPai's - 7 no total) fosse apresentada através dum drop list, para que, ao fazer o formulário de inserção, fosse apenas necessário selecionar o item da drop list e após submeter o formulário, o novo botão estaria criado. Este é o meu menu recursivo: <?php //call the recursive function to print category listing category_tree(0); //Recursive php function function category_tree($menuPai){ global $dbc; $q = "SELECT * FROM menuCAL WHERE idPai ='".$menuPai."'"; $r = $dbc->query($q); while($row = mysqli_fetch_object($r)): $i = 0; if ($i == 0) echo '<ul class="menuCAL">'; echo '<li><a href="?page='.$row->id,'">' . $row->GlyPrincipal . $row->GlySecundario . $row->menuNomePT, '</a>'; category_tree($row->id); echo '</li>'; $i++; if ($i > 0) echo '</ul>'; endwhile; } ?> Este o meu formulário CRUD de inserção: <!-- Textos & Formulários Start --> <div class="row"> <div class="col-lg-12"> <?php if(isset($_POST['enviado']) == 1) { $q = "INSERT INTO menuCAL () VALUES ()"; $r = mysqli($dbc, $q); if($r) { echo'<p>A página foi adicionada!</p>'; } else { echo '<p>A página não foi adicionada, devido ao seguinte erro: '.mysqli_error($dbc); echo '<p>' .$q.'</p>'; } } ?> <!-- Formulário Start --> <form action="adicionar_pagina.php" method="post" role="form"> <!-- Campo Label Start --> <div class="form-group"> <label for="label">Label</label> <input type="text" class="form-control" name="label" id="label" placeholder="Texto a colocar na URL (SEO)"> </div> <!-- Campo Label End --> <!-- Campo header Start --> <div class="form-group"> <label for="menuNomePT">Header</label> <input type="text" class="form-control" name="header" id="header" placeholder="Texto descritivo a colocar no topo do website"> </div> <!-- Campo header End --> <!-- Campo ID Menu Pai Start --> <div class="form-group"> <label for="idPai">Adicionar a:</label> <select class="form-control" name="idPai" id="idPai"> <option></option> </select> </div> <!-- Campo ID Menu Pai Start --> <!-- Campo menuNomePT Start --> <div class="form-group"> <label for="menuNomePT">Título PT</label> <input type="text" class="form-control" name="menuNomePT" id="menuNomePT" placeholder="Insira o título em Português"> </div> <!-- Campo menuNomePT End --> <!-- Campo conteudo_pagina_PT Start --> <div class="form-group"> <label for="conteudo_pagina_EN">Conteúdos PT</label> <textarea class="form-control" name="conteudo_pagina_PT" rows="12" id="conteudo_pagina_PT" placeholder="Insira os textos em Português"></textarea> </div> <!-- Campo conteudo_pagina_PT End --> <!-- Campo menuNomeEN Start --> <div class="form-group"> <label for="menuNomePT">Título EN</label> <input type="text" class="form-control" name="menuNomeEN" id="menuNomeEN" placeholder="Insira o título em Inglês"> </div> <!-- Campo menuNomeEN End --> <!-- Campo conteudo_pagina_EN Start --> <div class="form-group"> <label for="conteudo_pagina_EN">Conteúdos EN</label> <textarea class="form-control" name="conteudo_pagina_EN" rows="12" id="conteudo_pagina_EN" placeholder="Insira os textos em Inglês"></textarea> </div> <!-- Campo conteudo_pagina_EN End --> </div> <button type="submit" class="btn btn-default adic_concluir">Gravar</button> <input type="hidden" name="enviado" value="1"> </form> <!-- Formulário End --> </div> </div> <!-- Textos & Formulários End --> Obrigado