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 wrong in this statement?
What are disadvantages of C language.
Can true be a variable name in c?
stripos — Find position of first occurrence of a case- insensitive string int stripos ( char* haystack, char* needle, int offset ) Returns the numeric position of the first occurrence of needle in the haystack string. Note that the needle may be a string of one or more characters. If needle is not found, stripos() will return -1. The function should not make use of any C library function calls.
What does s c mean in text?
How are strings stored in c?
List the difference between a 'copy constructor' and a 'assignment operator' in C?
What would happen to X in this expression: X += 15; (assuming the value of X is 5)
find the value of y y = 1.5x+3 for x<=2 y = 2x+5 for x>2
What does the error message "DGROUP exceeds 64K" mean?
What is a void * in c?
What is call by reference in functions?
Where is volatile variable stored?
What does %d do in c?
what are the program that using a two dimensional array that list the odd numbers and even numbers separately in a given 10 inputs values