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


Please Help Members By Posting Answers For Below Questions

What is wrong in this statement?

852


What are disadvantages of C language.

905


Can true be a variable name in c?

788


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.

2222


What does s c mean in text?

863


How are strings stored in c?

823


List the difference between a 'copy constructor' and a 'assignment operator' in C?

877


What would happen to X in this expression: X += 15; (assuming the value of X is 5)

1695


find the value of y y = 1.5x+3 for x<=2 y = 2x+5 for x>2

1782


What does the error message "DGROUP exceeds 64K" mean?

1021


What is a void * in c?

874


What is call by reference in functions?

952


Where is volatile variable stored?

883


What does %d do in c?

773


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

1493