Ir para conteúdo
Fórum Script Brasil

Yuri Paropat

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Yuri Paropat

Yuri Paropat's Achievements

0

Reputação

  1. 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}....
×
×
  • Criar Novo...