C-Dosyada Enfazla Geçen Kelimeyi Bulan Program.

Konu sahibi son olarak 3309 gün önce görüldü
Kod:
[LEFT][COLOR=#FF8000]#include < stdio.h  >
#include < string.h >
#include <  stdlib.h >

#define LINE_LEN 100
#define WORD_LEN 40

[/COLOR][COLOR=#0000BB]int  main[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]void [/COLOR][COLOR=#007700])
{
[/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]mostWord[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]char  [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]status [/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]temp [/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]fileName[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]int i [/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]int total [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0  [/COLOR][COLOR=#007700];


[/COLOR][COLOR=#0000BB]FILE  [/COLOR][COLOR=#007700]*[/COLOR][COLOR=#0000BB]inp2 [/COLOR][COLOR=#007700], *[/COLOR][COLOR=#0000BB]inp [/COLOR][COLOR=#007700];

[/COLOR][COLOR=#0000BB]fileName [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]calloc[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]WORD_LEN [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sizeof[/COLOR][COLOR=#007700](  [/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]) );

[/COLOR][COLOR=#0000BB]printf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#DD0000]"Enter file name to be checked > " [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]scanf[/COLOR][COLOR=#007700](  [/COLOR][COLOR=#DD0000]"%s"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]fileName [/COLOR][COLOR=#007700]);

[/COLOR][COLOR=#0000BB]inp [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]fopen[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]fileName [/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"r" [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]inp2 [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]fopen[/COLOR][COLOR=#007700](  [/COLOR][COLOR=#0000BB]fileName[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"r" [/COLOR][COLOR=#007700]);

[/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]calloc[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]LINE_LEN [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sizeof[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]) ); [/COLOR][COLOR=#FF8000]// Dynamic  memory allocation
[/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]calloc[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]WORD_LEN [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sizeof[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]) );
[/COLOR][COLOR=#0000BB]temp [/COLOR][COLOR=#007700]=  [/COLOR][COLOR=#0000BB]calloc[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]WORD_LEN [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sizeof[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]) );
[/COLOR][COLOR=#0000BB]mostWord [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]calloc[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]WORD_LEN [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sizeof[/COLOR][COLOR=#007700](  [/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]) );

for( [/COLOR][COLOR=#0000BB]fscanf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]inp2 [/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"%s"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]word[/COLOR][COLOR=#007700]) ; ![/COLOR][COLOR=#0000BB]feof[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]inp2 [/COLOR][COLOR=#007700]) ; [/COLOR][COLOR=#0000BB]fscanf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]inp2  [/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"%s"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]word[/COLOR][COLOR=#007700]) )
{ 
[/COLOR][COLOR=#0000BB]strcpy[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]temp[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]" " [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]strcat[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]temp [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]word  [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]strcpy[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]temp [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0 [/COLOR][COLOR=#007700];
for( [/COLOR][COLOR=#0000BB]status [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]fgets[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]LINE_LEN  [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]inp [/COLOR][COLOR=#007700]) ; [/COLOR][COLOR=#0000BB]status [/COLOR][COLOR=#007700]!= [/COLOR][COLOR=#0000BB]NULL [/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]status [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]fgets[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]LINE_LEN [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]inp [/COLOR][COLOR=#007700]) ) 
for( ;  [/COLOR][COLOR=#0000BB]strstr[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700]) != [/COLOR][COLOR=#0000BB]NULL  [/COLOR][COLOR=#007700]; ++[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700]) 
[/COLOR][COLOR=#0000BB]sprintf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]line[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"%s" [/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]strstr[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700],  [/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700]) + [/COLOR][COLOR=#0000BB]strlen[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700])); 
if( [/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700]> [/COLOR][COLOR=#0000BB]total [/COLOR][COLOR=#007700])
{
[/COLOR][COLOR=#0000BB]total [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]strcpy[/COLOR][COLOR=#007700](  [/COLOR][COLOR=#0000BB]mostWord[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]word [/COLOR][COLOR=#007700]);
}
[/COLOR][COLOR=#0000BB]rewind[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]inp [/COLOR][COLOR=#007700]);
}
[/COLOR][COLOR=#0000BB]printf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#DD0000]"Most read word is %s  "[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]mostWord [/COLOR][COLOR=#007700]) ;
[/COLOR][COLOR=#0000BB]printf[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#DD0000]"\nTotal = %3d\n"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]total [/COLOR][COLOR=#007700]); 
[/COLOR][COLOR=#0000BB]fclose[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]inp  [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]fclose[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]inp2 [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]free[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]line [/COLOR][COLOR=#007700]) ;
[/COLOR][COLOR=#0000BB]free[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]mostWord [/COLOR][COLOR=#007700]) ;
[/COLOR][COLOR=#0000BB]free[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]word  [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]free[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]temp [/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000BB]free[/COLOR][COLOR=#007700]( [/COLOR][COLOR=#0000BB]fileName [/COLOR][COLOR=#007700]);

return( [/COLOR][COLOR=#0000BB]0 [/COLOR][COLOR=#007700]) ;
}  [/COLOR][/LEFT]
 
Geri