#include<bits/stdc++.h>
using namespace std;
void combination(int a[], int n, int r, int index, int data[], int i);
void printcombination(int a[], int n, int r)
{
int data[r];
sort(a, a+n);
combination(a, n, r, 0, data, 0);
}
void combination(int a[], int n, int r, int index, int data[], int i)
{
if(index == r)
{
int i;
for(i=0;i<r;i++)
cout << data[i];
cout << endl;
return;
}
if(i >= n)
return;
data[index] = a[i];
combination(a, n, r, index+1, data, i+1);
while(a[i] == a[i+1])
i++;
combination(a, n, r, index, data, i+1);
}
int main()
{
int n, r, i;
cout << "Enter Array Size :: ";
cin >> n;
int a[n];
cout << "Enter Array Element :: " << endl;
for(i=0;i<n;i++)
cin >> a[i];
cout << "Enter r :: ";
cin >> r;
printcombination(a, n, r);
return 0;
}
using namespace std;
void combination(int a[], int n, int r, int index, int data[], int i);
void printcombination(int a[], int n, int r)
{
int data[r];
sort(a, a+n);
combination(a, n, r, 0, data, 0);
}
void combination(int a[], int n, int r, int index, int data[], int i)
{
if(index == r)
{
int i;
for(i=0;i<r;i++)
cout << data[i];
cout << endl;
return;
}
if(i >= n)
return;
data[index] = a[i];
combination(a, n, r, index+1, data, i+1);
while(a[i] == a[i+1])
i++;
combination(a, n, r, index, data, i+1);
}
int main()
{
int n, r, i;
cout << "Enter Array Size :: ";
cin >> n;
int a[n];
cout << "Enter Array Element :: " << endl;
for(i=0;i<n;i++)
cin >> a[i];
cout << "Enter r :: ";
cin >> r;
printcombination(a, n, r);
return 0;
}
Comments
Post a Comment