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 .
Answer Posted / 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 View All Answers
What is strcpy() function?
How does free() know explain how much memory to release?
Implement bit Array in C.
Difference between macros and inline functions? Can a function be forced as inline?
Why is c still so popular?
a parameter passed between a calling program and a called program a) variable b) constant c) argument d) all of the above
using for loop sum 2 number of any 4 digit number in c language
why arguments can generally be passed to functions a) sending the values of the arguments b) sending the addresses of the arguments c) a & b d) none of the above
How can I read/write structures from/to data files?
What is a null pointer assignment error? What are bus errors, memory faults, and core dumps?
List the different types of c tokens?
How do I send escape sequences to control a terminal or other device?
Explain what are reserved words?
What is the best way of making my program efficient?
List the difference between a 'copy constructor' and a 'assignment operator' in C?