C program to print all possible subsets of a given length in string

Here, we are going to learn how to print all possible subsets of a given length in string in C programming language?
Submitted by Nidhi, on July 20, 2021

Problem Solution:

Read a string from the user and find all possible subsets of a given length in the string using C program.

Program:

The source code to print all possible subsets of a given length in the string is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.

// C program to print all possible subsets
// of a given length in string

#include <stdio.h>
#include <string.h>

int main()
{
    char str[32];

    int i = 0;
    int j = 0;
    int l1 = 0;
    int l2 = 0;

    int ind = 0;
    int start = 0;

    printf("Enter string: ");
    scanf("%s", str);

    l1 = strlen(str);

    printf("Enter length: ");
    scanf("%d", &l2);

    printf("The possible subsets are:\n");

    for (i = 1; i <= l1; i++) {
        if (ind - start + 1 == i) {
            if (i == l2) {
                for (j = ind; j < l1; j++) {
                    for (i = start; i < ind; i++)
                        printf("%c", str[i]);
                    printf("%c\n", str[j]);
                }

                if (start != i) {
                    start++;
                    ind = start;
                }
            }
            else
                ind++;
        }
    }

    return 0;
}

Output:

RUN 1:
Enter string: IncludeHelp
Enter length: 3
The possible subsets are:
Inc
Inl
Inu
Ind
Ine
InH
Ine
Inl
Inp

RUN 2:
Enter string: Hello
Enter length: 2
The possible subsets are:
He
Hl
Hl
Ho

Explanation:

In the main() function, we read a string and length from the user and find all possible subsets of input length and printed the result on the console screen.

C String Programs »



Related Programs




Comments and Discussions!

Load comments ↻






Copyright © 2024 www.includehelp.com. All rights reserved.