So I have created a file that has a bunch of words in it, and my program is supposed to open the file, put all of the words in an array, and then compare the strings to see if any are exact matches. It opens the file and populates the array, but the problem comes when I am trying to compare the strings.. Can anyone tell me how to go about fixing why this isn't comparing properly?
My words file:
Google Twitter Facebook Twitter gmail Flyer city
phone Google cookie Facebook Flyer grill fork silver tornado dirty
blue grill lemon
Code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
FILE *words;
char words_array[20][17];
int x=0;
int y=0;
int pairs = 0;
words=fopen("words.dat","r");
if(words==NULL)
printf("\n\nwords.dat was not properly opened.\n");
else
{
for(x = 0 ; x < 20 ; x++ )
{
fscanf(words,"%s",&words_array[x][y]);
}
fclose(words);
for(x = 0 ; x < 20 ; x++ )
printf("Word #%d is %s \n", x + 1, words_array[x]);
/*start of comparison*/
for(x=0;x<20;x++)
{
for(y=0;y<20;y++)
{
if (strcmp (words_array[x], words_array[x+1])==0)
pairs++;
}
/*end of comparisons*/
}
printf("%d \n",pairs);
}
return(0);
}
Output:
Word #1 is Google
Word #2 is Twitter
Word #3 is Facebook
Word #4 is Twitter
Word #5 is gmail
Word #6 is Flyer
Word #7 is city
Word #8 is phone
Word #9 is Google
Word #10 is cookie
Word #11 is Facebook
Word #12 is Flyer
Word #13 is grill
Word #14 is fork
Word #15 is silver
Word #16 is tornado
Word #17 is dirty
Word #18 is blue
Word #19 is grill
Word #20 is lemon
0