i need to complete the following structure so
it will print all the str strings in length n,that follows ththe following rules:
A.the strings have only a,b,c chars
B.a string could not have two consecutive 'a' chars
C.a sting could not have 3 consecutive 'c' chars
for example:
for n=3
it will print
aba,abb,abc,aca,acb,acc,bab,bac,bba,bbb,bbc,bca,bc b,bcc,cab,
cac,cba,cbb,cbc,cca,ccb,
and returns 21
Code:
#include<stdio.h>
#define N 3
int printStrings(int i, int n, char* str, int a, int c){
int count=0;
if (?? 1 ??) {
printf("%s,",str);
?? 2 ??;
}
if (?? 3 ??) a=0;
else{
str[i] = 'a';
count += ?? 4 ??;
}
?? 5 ??;
count += printStrings(i+1,n,str,a,c);
if (c==2) ?? 6 ??;
else{
str[i] = 'c';
count += ?? 7 ??;
}
?? 8 ??;
}
void main(){
char str[N+1];
str[N] = '\0';
printf("%d\n",printStrings(0,N,str,0,0));
}
what each block should do
i think that each block is a given condition
for example the following block is linked with the rule that we are not allowed 3 'c' in a row
but dont know what it should do in general?
Code:
if (c==2) ?? 6 ??;
else{
str[i] = 'c';
count += ?? 7 ??;
}