Skip to main content

C AND C++ program to find out a pattern within a String

This program takes an input string From user and tell if the given string is present in the String or not

Example: This is always true
pattern-> is 

output -> pattern found 

and if pattern input -> zxc
output -> No match found 
NOTE: CODE:: BLOCKS IS USED in editing and compiling the source code ....


+++++++++++++++++++++++++++++C Source Code ++++++++++++++++++++++++++++++

#include <stdio.h>
#include <conio.h>

void main ()

{
char str[999],pattern[999];
int flag=0,i,j=0,loc;

printf("Enter the string \n");
gets(str);
printf("Enter the string to find pattern\n");
gets(pattern);
for(i=0;str[i]!='\0';i++)
{ /// main for loop
    if(flag==1) break;

    if(str[i]==pattern[0])
    {/// a match is found
        i++;
        flag=1;
loc=i;
        for( j=1;pattern[j]!='\0';j++)
        {
            if(str[i]!=pattern[j])
            {

            flag=0;
            break;
            }// end if
else
{

    flag=1;


}

        i++;
        }// end further check for

    } /// a match is found end if


}/// main for loop

 if(flag==0)
 printf("\n\t\t+++++++++++++++++++++++++++++++++++++++++++\n\t\t\t\tNo match found \n\t\t+++++++++++++++++++++++++++++++++++++++++++ \n");
else
  {

   printf("\n\t\t+++++++++++++++++++++++++++++++++++++++++++\n\t\t   pattern is present from location %d\n\t\t+++++++++++++++++++++++++++++++++++++++++++ \n",loc);

  }


getch();




}



+++++++++++++++++++++++++++++END C SOURCE CODE +++++++++++++++++


++++++++++++++++++C++ SOURCE CODE +++++++++++++++++++++++++++++++++



#include <iostream>
#include <conio.h>
using namespace std;
int main ()

{
char str[999],pattern[999];
int flag=0,loc;

cout<<"Enter the string \n";
cin.getline(str,999);
cout<<"Enter the string to find pattern\n";
cin.getline(pattern,999);
for(int i=0;str[i]!='\0';i++)
{ /// main for loop
    if(flag==1) break;

    if(str[i]==pattern[0])
    {/// a match is found
        i++;loc=i;
        flag=1;

        for(int j=1;pattern[j]!='\0';j++)
        {
            if(str[i]!=pattern[j])
            {

            flag=0;

            break;
            }// end if
else
{

    flag=1;


}

        i++;
        }// end further check for

    } /// a match is found end if


}/// main for loop

 if(flag==0)
 cout<<"\n\t\t+++++++++++++++++++++++++++++++++++++++++++\n\t\t\t\tNo match found \n\t\t+++++++++++++++++++++++++++++++++++++++++++ \n";
else
    cout<<"\n\t\t+++++++++++++++++++++++++++++++++++++++++++\n\t\t   pattern is present :from location "<<loc<<"\n\t\t+++++++++++++++++++++++++++++++++++++++++++ \n";

getch();




}


+++++++++++++++++++++++ END C++ SOURCE CODE +++++++++++++++++++++


Comments