a_pramanik

naive pattern matching in c

Oct 12th, 2020
647
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2.  
  3.  
  4. int patternMatching(char txt[], char pt[]){
  5.  
  6.     int n = strlen(txt);
  7.     int m = strlen(pt);
  8.  
  9.     int i, j;
  10.  
  11.     int index = -1;
  12.  
  13.  
  14.     for(i=0; i<=(n-m); i++){
  15.  
  16.         for(j=0; j<m; j++){
  17.             if(txt[i+j]!=pt[j])break;
  18.         }
  19.  
  20.         if(j==m){
  21.             index = i;
  22.             break;
  23.         }
  24.  
  25.     }
  26.  
  27.     return index;
  28.  
  29. }
  30.  
  31.  
  32. int main()
  33. {
  34.     char text[30];
  35.     char pat[30];
  36.  
  37.     printf("Enter text: ");
  38.     gets(text);
  39.     printf("Enter pattern: ");
  40.     gets(pat);
  41.  
  42.     int pos = patternMatching(text, pat);
  43.  
  44.     if(pos==-1){
  45.         printf("Pattern not found!");
  46.     }
  47.     else{
  48.         printf("Pattern found at position %d\n", pos+1);
  49.     }
  50.  
  51.  
  52.  
  53.  
  54.  
  55. }
RAW Paste Data