sou fã de programação atualmente programo clipper+harbour miniguia, acontece que precisava gerar uma analise combinatória tipo 80,5, dando algo em torno de 24 milhões de combinações possíveis, pesquisando no google, encontrei uma rotina em C que gera as combinações so que somente em video, alguém pode me ajudar a gerar as combinações para um arquivo txt, porque ai posso manipular os dados com facilidade me clipper. Tentei buscar como fazer a impressão em arquivo, mas não deu certo,
segue a rotina baixada da internet.
#include <stdio.h>
void combinationUtil(int arr[], int data[], int start, int end, int index, int r)
{
int i, j;
if (index == r)
{
for (j=0; j<r; j++)
fprintf("%d ", data[j]);
printf("\n");
return;
}
void printCombination(int arr[], int n, int r)
{
int data[r];
combinationUtil(arr, data, 0, n-1, 0, r);
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80};
int r = 5;
int n = sizeof(arr)/sizeof(arr[0]);
printCombination(arr, n, r);
}
Pergunta
Carlos Spzzamiglio
Boa noite
sou fã de programação atualmente programo clipper+harbour miniguia, acontece que precisava gerar uma analise combinatória tipo 80,5, dando algo em torno de 24 milhões de combinações possíveis, pesquisando no google, encontrei uma rotina em C que gera as combinações so que somente em video, alguém pode me ajudar a gerar as combinações para um arquivo txt, porque ai posso manipular os dados com facilidade me clipper. Tentei buscar como fazer a impressão em arquivo, mas não deu certo,
segue a rotina baixada da internet.
#include <stdio.h>
void combinationUtil(int arr[], int data[], int start, int end, int index, int r)
{
int i, j;
if (index == r)
{
for (j=0; j<r; j++)
fprintf("%d ", data[j]);
printf("\n");
return;
}
for (i=start; i<=end && end-i+1 >= r-index; i++)
{
data[index] = arr;
combinationUtil(arr, data, i+1, end, index+1, r);
}
}
void printCombination(int arr[], int n, int r)
{
int data[r];
combinationUtil(arr, data, 0, n-1, 0, r);
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80};
int r = 5;
int n = sizeof(arr)/sizeof(arr[0]);
printCombination(arr, n, r);
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.