Using exclude and include
#include <stdio.h>
int a[100],temp[100],n,r;
void fun(int index, int i)
{
if (index == r)
{
for (int j = 0; j < r; j++)
printf("%d", temp[j]);
printf("\n");
return;
}
if (i >= n)
return;
temp[index] = a[i];
fun(index + 1, i + 1); //current element is included
fun(index,i+1); // current element is excluded, replace it with next element
}
int main()
{
int i;
printf("enter the number of elements\n");
scanf("%d",&n);
printf("enter the array elements");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n enter the number of digits");
scanf("%d",&r);
int temp[r];
fun(0,0);
}
=============================================================
#include <stdio.h>
int a[100],temp[100],n,r;
void fun(int start, int end, int index)
{
if (index == r)
{
for (int j = 0; j < r; j++)
printf("%d", temp[j]);
printf("\n");
return;
}
for (int i = start; i <= end && end - i + 1 >= r - index; i++)
{
temp[index] = a[i];
fun(i+1,end, index+1);
}
}
int main()
{
int i;
printf("enter the number of elements\n");
scanf("%d",&n);
printf("enter the array elements");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n enter the number of digits");
scanf("%d",&r);
int temp[r];
fun(0,n-1,0);
}
#include <stdio.h>
int a[100],temp[100],n,r;
void fun(int index, int i)
{
if (index == r)
{
for (int j = 0; j < r; j++)
printf("%d", temp[j]);
printf("\n");
return;
}
if (i >= n)
return;
temp[index] = a[i];
fun(index + 1, i + 1); //current element is included
fun(index,i+1); // current element is excluded, replace it with next element
int main()
{
int i;
printf("enter the number of elements\n");
scanf("%d",&n);
printf("enter the array elements");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n enter the number of digits");
scanf("%d",&r);
int temp[r];
fun(0,0);
}
=============================================================
#include <stdio.h>
int a[100],temp[100],n,r;
void fun(int start, int end, int index)
{
if (index == r)
{
for (int j = 0; j < r; j++)
printf("%d", temp[j]);
printf("\n");
return;
}
for (int i = start; i <= end && end - i + 1 >= r - index; i++)
{
temp[index] = a[i];
fun(i+1,end, index+1);
}
}
int main()
{
int i;
printf("enter the number of elements\n");
scanf("%d",&n);
printf("enter the array elements");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n enter the number of digits");
scanf("%d",&r);
int temp[r];
fun(0,n-1,0);
}
Thank you for the diagram mam, it helped me to understand the program.
ReplyDelete