How to generate all possible binary strings by replacing ? from a given pattern in C

1 Answer

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

void generate_all_possible_binary_strings(char str[], int index) {
    if (index == strlen(str)) {
        printf("%s\n", str); 
        return;
    }

    if (str[index] == '?') {
        str[index] = '0'; 
        generate_all_possible_binary_strings(str, index + 1);

        str[index] = '1'; 
        generate_all_possible_binary_strings(str, index + 1);

        str[index] = '?'; 
    } else {
        generate_all_possible_binary_strings(str, index + 1);
    }
}

int main() {
    char str[] = "1?0?1";
    
    generate_all_possible_binary_strings(str, 0);;
    
    return 0;
}




/*
run:

10001
10011
11001
11011

*/

 



answered Aug 24, 2023 by avibootz
...