Sie sind auf Seite 1von 24

Program-1

WAP TO DESIGN A FA WHICH ACCEPT HE STRING OF 0,1 BUT NOT 000 AS A SUBTRING AND STRING SHOULD NOT END WITH 00 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='0'||a[i]=='1') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='0'&&a[i+1]=='0'&&a[i+2]=='0') { printf("string is terminated"); getch(); return; } } if(a[n-1]=='0'&&a[n-2]=='0') { printf("invalid string ,string must be ended with 1 or with a single o"); getch(); return; } else printf("string is accepted"); getch(); return; }

Output:-

Program-2
WAP TO DESIGN A DFA WHICH ACCEPT A STRING ENDING WITH 011 OVER ALPHABET 0,1 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,flag=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if((a[i]=='0'||a[i]=='1')&&a[n-1]=='1'&&a[n-2]=='1'&&a[n-3]=='0' ) { flag=1; } else { printf("\nstring is not valid\n"); getch(); return; }} if(flag==1) printf("string is accepted") ; getch(); }

Output

Program-3
WAP TO DESIN A DFA HAVING EXACTLY FOUR 1'S OVER ALPHABET 0,1 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,count=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='0'||a[i]=='1') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='1') count++; } if(count==4) printf("string has exactly four 1 so accepted"); else printf("not accepted"); getch(); }

Output

Program-4
WAP TO ACCEPT A STRING OF 0,1 HAVING EVEN NO. OF 1'S AND EVEN NO. OF 0'S #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,count=0,count1=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='0'||a[i]=='1') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='1') count++; if(a[i]=='0') count1++; } if(count%2==0&&count1%2==0) printf("string accepted"); else printf("not accepted"); getch(); }

Output

Program-5

WAP TO CHECK ASTIRNG PALINDROME OR NOT OVER ALPHABET 0,1 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100],b[100]; int i,j,n,d; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='0'||a[i]=='1') {} else { printf("\nstring is not valid\n"); getch(); return; } } strcpy(b,a); strrev(a); d=strcmp(a,b); if(d==0) printf("string is palindrome"); else printf("not palindrome"); getch(); }

Output

Program-6

WAP IN WHICH NO. OF 0'S ARE DIVISIBLE BY 5 AND NO. OF 1'S ARE DIVISIBLE BY 3 IN A STRING OF 0,1 ALPHABETS #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,count1=0,n,count=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='0'||a[i]=='1') {} else { printf("\nstring is not valid\n"); getch(); return; } } for(i=0;i<n;i++) {if(a[i]=='0') count++; else count1++; } if(count%5==0&&count1%3==0) printf("accepted") ; else printf("not accepted"); getch(); }

Output

Program-7

WAP FA FOR A LANGUAGE L={w:(a,b)*/n b(w) %3>1} #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,count=0,count1=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='a'||a[i]=='b') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='b') { count=count+1; } if(a[i]=='a') count1=count1+1; } if (count%3>1&&count1>=1) { printf("string is accepted"); } else printf("string is not accepted"); getch(); }

Output

Program-8

WAP FA FOR A LANGUAGE WHERE NO. OF a IS 2 & NO. OF b IS >2 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,count=0,count1=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='a'||a[i]=='b') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='a') { count=count+1; } if(a[i]=='b') count1=count1+1; } if (count==2&&count1>2) { printf("string is accepted"); } else printf("string is not accepted"); getch(); }

Output

Program-9

WAP FA FOR A LANGUAGE L={ab^5wb^4/w:(a,b)*} #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,count=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='a'||a[i]=='b') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[0]=='a'&&(a[1]&&a[2]&&a[3]&&a[4]&&a[5]=='b')&&(a[i+6]=='a'|| a[i+6]=='b')&&(a[n-1-(1+6)]&&a[n-2-(i+6)]&&a[n-3-(i+6)]&&a[n-4-(i+6)]=='b')) { count =1; } } if(count==1) printf("string is accepted"); else printf("string is not accepted"); getch(); }

Output

Program-10

WAP FA FOR A STRING IN WHICH EVERY 00 IS FOLLOWED IMMEDIATELY BY 1 OR MORE THAN 1'S #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,flag=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='1'||a[i]=='0') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='0'&&a[i+1]=='0'&&a[i+2]=='0') { flag=1; } } if(flag==1) printf("string is not accepted"); else printf(" string is accepted"); getch(); return; }

Output

Program-11

WAP TO DESIN A DFA WHICH ACCEPT THE STRING STARTED WITH 0,1 AND END WITH 0,1 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,flag=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='0'||a[i]=='1') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[0]=='0'&&a[1]=='1'&&a[n-1]=='1'&&a[n-2]=='0') flag=1; } if(flag==1) printf("string accepted "); else printf("not accepted"); getch(); }

Output

Program-12

WAP FA FOR A LANGUAGE WHERE STRING IS A COLLECTION OF 1^2i,0^j WHEREi>=1,j>=1 #include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[100]; int i,n,count=0,count1=0; clrscr(); printf("enter the string"); scanf("%s",a); n= strlen(a); for(i=0;i<n;i++) { if(a[i]=='1'||a[i]=='0') {} else { printf("\nstring is not valid"); getch(); return; }} for(i=0;i<n;i++) { if(a[i]=='1') { count=count+1; } if(a[i]=='0') count1=count1+1; } if (count%2==0&&count1>=1&&count>=1) { printf("string is accepted"); } else printf("string is not accepted"); getch(); }

Output

Das könnte Ihnen auch gefallen