Untitled

 avatar
unknown
plain_text
a year ago
3.6 kB
4
Indexable
/*Design DFA for accepting the language 01011 in c-program*/
#include <stdio.h>
#include <string.h>

int main() {
    int initial_state = 1, current_state = 1, i, len;
    char str[10];

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

    len = strlen(str);

    for (i = 0; i < len; i++) {
        switch (current_state) {
            case 1:
                if (str[i] == '0') {
                    current_state = 2;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 2:
                if (str[i] == '1') {
                    current_state = 3;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 3:
                if (str[i] == '0') {
                    current_state = 4;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 4:
                if (str[i] == '1') {
                    current_state = 5;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 5:
                if (str[i] == '1') {
                    current_state = 5;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;
        }
    }

    if (current_state == 5) {
        printf("String is accepted\n");
    } else {
        printf("String is rejected\n");
    }

    return 0;
}

/*Design DFA for accepting the language ababbb in c-program*/
#include <stdio.h>
#include <string.h>

int main() {
    int initial_state = 1, current_state = 1, i, len;
    char str[10];

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

    len = strlen(str);

    for (i = 0; i < len; i++) {
        switch (current_state) {
            case 1:
                if (str[i] == 'a') {
                    current_state = 2;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 2:
                if (str[i] == 'b') {
                    current_state = 3;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 3:
                if (str[i] == 'a') {
                    current_state = 4;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 4:
                if (str[i] == 'b') {
                    current_state = 5;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;

            case 5:
                if (str[i] == 'b') {
                    current_state = 5;
                } else {
                    printf("String is rejected\n");
                    return 0;
                }
                break;
        }
    }

    if (current_state == 5) {
        printf("String is accepted\n");
    } else {
        printf("String is rejected\n");
    }

    return 0;
}
Editor is loading...
Leave a Comment