Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


write a C program : To find out the number of identical
words in two files . the file name should be taken as
command line argument .



write a C program : To find out the number of identical words in two files . the file name should b..

Answer / mohammed asif

//Email: mohdasif_2688@rocketmail.com
//Hello friends This program sure contains some errors which need to be rectified
//If any problem feel free to contact me at my email address i am a fresher (2012 passed out) too looking for a job.

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<string.h>
#include<ctype.h>

int main(int argc,char *argv[])
{
char word[15]="\0",ch='\0',s[80]="\0";
FILE *fp,*fp1;
int init,count=0,l,i=0,j=0,k1;

fp=fopen("src.txt","r");
if(fp==NULL)
{
printf("Invalid File name");
exit(0);
}


while(ch!=-1)
{
init=0;
strset(word,'\0');
while((ch=fgetc(fp))!=' ')
{
if(ch!=-1)
{
if(ch!='\t')
{
if(ch!='\n')
{
word[init]=ch;
init++;
}
else
break;
}
else
break;
}
else
break;

}
word[init]='\0';
fp1=fopen("dest.txt","r");
if(fp1==NULL)
{
printf("Invalid file name");
exit(0);
}
if(fgets(s,79,fp1)!=NULL)
{
//Variables for the logic initializing
i=0;
j=0;k1=0;

//Possible ERROR Location
//here you get two array of chars word[] and s[]
//If finding error then work on these arrays to just find the substring in the main s[] string

l=strlen(word);
while (word[i]!=EOF)
{
if (s[i]==word[j])
{
i++;
j++;
k1=1;
if (j==l)
{
j=0;
count++;
}
}
else
{
if (k1==1)
{
j=0;
k1=0;
}
else
i++;
}
}

// end of Possible Error Location

}

fclose(fp1);

}
printf("\nNumber of Identical words is : %d",count);
fclose(fp);
system("pause");
}


//Note: This program does not take arguments from CMD. If you wish to then just use
// argv[1] in place of "src.txt" : i.e source file
// argv[2] in place of "dest.txt" : i.e destination file
//argc[1] & argv[2] are two text files with multiple words in the solutions directory
//Program written using MSVisual c++

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More C Interview Questions

What is the value of a[3] if integer a[] = {5,4,3,2,1}?

0 Answers  


Find the middle node in the linked list?? (Note:Do not use for loop, count and count/2)

6 Answers   Subex,


Average of a couple 10 years ago was 25. The average remains same after having a child and twins after 3 years. What is the present age of the first child

10 Answers   IBM, Infosys,


Why do we use & in c?

0 Answers  


code for concatination of 2 strings with out using library functions?

3 Answers  


#include<stdio.h> int fun(); int i; int main() { while(i) { fun(); main(); } printf("hello \n"); return 0; } int fun() { printf("hi"); } answer is hello.how??wat is tat while(i) mean?

7 Answers   Intel,


what is output of the following statetment?Printf(“%x”, -1<<4); ?

5 Answers  


Find greatest of two numbers using macro

4 Answers   Bosch, Siemens,


What is fflush() function?

0 Answers  


If the static variable is declared as global, will it be same as extern?

1 Answers   Samsung,


Whats s or c mean?

0 Answers  


write a program to sum of its digit with using control structure or with out using loop. for ex: let the number is 25634 then answer will be=2+5+6+3+4=20

4 Answers  


Categories