c program to find a substring
how to write a program in c to find a substring???(without using library functions)😕
Replies
-
reachrkataUsing For Loops and Character comparison.
-Karthik
😁 -
samairathat's quite obvious but i m not able to get the output.To be frank i want the code of the program.Plz help if u can
-
Saandeep SreerambatlaPlease post clear question, post what you have tried so far such taht we can guide you..
-
samaira#include
#include
int main()
{
int i=0,j=0;
char a[10],b[10];
clrscr();
printf("enter the main string: ");
scanf("%s",a);
printf("\n enter the second string: ");
scanf("%s",b);
while(a!='\0')
{
if(a==b[j])
{
i++;
j++;}
else
{
j=0;
if(a==b[j])
j++;
i++;
}
else
{
printf("the given string is not substring");
}
printf("\n the given substring is present");
}
getch();
}
just check the program and tell me where i m going wrong -
Saandeep SreerambatlaThis is my understanding..
Before the first if loop you have initialized i=0 and j=0.
If that condition fails again you have initialized j=0.
So if the first IF loop fails ..
Then the If loop in the else part will also fail for j=0.
This functionality is very easy by using for loops.
First take the main string into a[] , then substring into b[]
Use two for loops and you will get the answer. -
samairai have initialized j=0 again after the if loop fails coz the string might appear at any position of the second string like e.g we have to find whether the string "comp" is a substring of "mech & comp".so after the condition fails the second string is again ready to be checked from first while the counter of second goes on increasing.
-
shalini_goel14Hi samaira,
int blen=0, k=0; //assign length of be to blen blen =strlen(b); //not sure while(a[i]!='\0') { if(a[i]==b[j]) { i++; j++; if(j==blen){ j=0; } } else { j=0; //if(a[i]==b[j]) //j++; i++; } else { printf("the given string is not substring"); } printf("\n the given substring is present"); } getch(); }
Try this including b length's check in your program, if it works. Also, I think you can include a separate variable k in your program and initialize it to 0 and set its value as 1 when your check in if loop works and then at the end while printing message you can check if it is 1 then "matched" else "unmatched"
Thanks ! -
samairahey shalini thanks for ur help.:smile:
-
shalini_goel14@Samaira If you program works then don't forget to post the complete working program here also.
Thanks ! -
yogesh_dhiman//Without using Functions.
#include(stdio.h) // place this '<' & '>' instead of '(' & ')' before stdio.h
#include(string.h)
void main( )
{
char st[20],sub[10],temp[10];
int pos, i, j;
clrscr( );
printf("Enter the main string:");
gets(st);
printf("\nEnter the substring to insert:");
gets(sub);
printf("Enter the index position:");
scanf("%d",&pos);
if(pos<=strlen(st)) {
for(i=0;i<=strlen(st);i++) {
if(i==pos)
{
for(j=0;st!='\0';j++) // to store the 'st' to 'temp' from given position.
{
temp[j]=st;
i++;
}
temp[j]='\0';
i=pos;
for(j=0;sub[j]!='\0';j++) // to insert a sub-str to main string.
{
st=sub[j];
i++;
}
for(j=0;temp[j]!='\0';j++) // Lastly to insert the 'temp' to 'st' after sub-str.
{
st=temp[j];
i++;
}
st='\0';
}}
printf("\nAfter adding the sub-string: %s",st);
}
else
printf("\nSorry, it is not possible to insert a substring in that position.");
getch();
}
-
jkr0103
[HASHTAG]#include[/HASHTAG]
[/I][/I]using namespace std; int main() { char a[] = {"Hanuman"}; char b[] = {"Hanuu"}; int i = 0, j = 0; while(a[I]!='\0') { if(a[I]==b[j]) { j++; if (b[j] == '\0') break; } else { i = i-j; j = 0; } i++; } if(b[j] == '\0') { cout << "substring exists\n"; } else { cout << "substring does not exists\n"; } return 0; }
You are reading an archived discussion.
Related Posts
Hi am salman m new to this site i want to know about basic of aeronautical engg & about future .
i jus want 2 kno wot all r the important topics dat can b considered for a paper presentation on dis topic?? thanx in advance!!
Hello everyone..actually my supervisor want me to do this project for my final year..who can teach me how to build the audiometry software by using visual basic or labview..??this audiometry...
For people who love driving and especially for those who are active bloggers and photographers, check this out -
The Great Driving Challenge | User Application
i need ideas how to do projects plz