#include <stdio.h>
void CombUtil(int *arr, int *data, int start, int end, int index, int r);
void PrintComb(int *arr, int n, int r);
void PrintComb(int *arr, int n, int r)
{
int data[r];
CombUtil(arr, data, 0, n-1, 0, r);
}
void CombUtil(int *arr, int *data, int start, int end, int index, int r)
{
if(index==r){
printf("{");
for(int j=0; j <= r; j++) printf("%d,", data[j]);
}
printf("}");
printf("\n");
return;
}
for(int i=start; i < end && end-1 >= r-index; i++){
data[index]= arr[i];
CombUtil(arr, data, i+1, end, index+1, r);
}
}
int main()
{
int arr[]= {1,2,3,4,0};
int n= sizeof(arr)/sizeof(arr[0]);
int r=3;
PrintComb(arr, n, r);
return 0;
}
댓글 없음:
댓글 쓰기