summaryrefslogtreecommitdiff
path: root/lib.c
diff options
context:
space:
mode:
authorBenedict <benedict@0xb8000.de>2016-03-19 15:15:33 +0100
committerBenedict <benedict@0xb8000.de>2017-02-21 13:00:25 +0100
commitfa397a6eb18274b40f35d5966e35f0fc79a2f09c (patch)
treeb772b5bb3203280a0157164b825e62831cbea890 /lib.c
parent1013c26e20f83bc633e0a929248a5f76c67c72ff (diff)
added more frequent characters
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c41
1 files changed, 27 insertions, 14 deletions
diff --git a/lib.c b/lib.c
index fc07022..c2ee753 100644
--- a/lib.c
+++ b/lib.c
@@ -309,9 +309,10 @@ static int frequent_histogramm_matchs(char *string, int length)
int i;
int hits = 0;
char tmp;
- int number_frequent_characters[10] = { 0, 0, 0, 0, 0, 0 ,0 ,0 ,0 ,0};
- // a e h i n o r s t u
- double standard_frequencies[10] = { 8.1, 12.7, 6.0, 6.9, 6.7, 7.5, 5.9, 6.3, 9.0, 2.7 };
+ int number_frequent_characters[14] = { 0, 0, 0, 0, 0, 0, 0, 0 ,0 ,0 ,0 ,0, 0, 0};
+ // frequent characters:
+ // a c d e h i l m n o r s t u w
+ double standard_frequencies[14] = { 8.1, 2.7, 4.2, 12.7, 6.0, 6.9, 4.0, 2.4, 6.7, 7.5, 5.9, 6.3, 9.0, 2.7 };
// count frequent characters
for(i=0;i<length;i++) {
@@ -320,38 +321,50 @@ static int frequent_histogramm_matchs(char *string, int length)
case 'a':
number_frequent_characters[0]++;
break;
- case 'e':
+ case 'c':
number_frequent_characters[1]++;
break;
- case 'h':
+ case 'd':
number_frequent_characters[2]++;
break;
- case 'i':
+ case 'e':
number_frequent_characters[3]++;
break;
- case 'n':
+ case 'h':
number_frequent_characters[4]++;
break;
- case 'o':
+ case 'i':
number_frequent_characters[5]++;
break;
- case 'r':
+ case 'l':
number_frequent_characters[6]++;
break;
- case 's':
+ case 'm':
number_frequent_characters[7]++;
break;
- case 't':
+ case 'n':
number_frequent_characters[8]++;
break;
- case 'u':
+ case 'o':
number_frequent_characters[9]++;
break;
+ case 'r':
+ number_frequent_characters[10]++;
+ break;
+ case 's':
+ number_frequent_characters[11]++;
+ break;
+ case 't':
+ number_frequent_characters[12]++;
+ break;
+ case 'u':
+ number_frequent_characters[13]++;
+ break;
}
}
- #define FREQ_AREA 0.8
+ #define FREQ_AREA 0.7
// compare frequncies with standard frequencies
- for(i=0;i<10;i++) {
+ for(i=0;i<14;i++) {
double freq =(double) ((double)number_frequent_characters[i]*100/(double)length);
if((((standard_frequencies[i] * (1-FREQ_AREA) < freq)
)&& ((standard_frequencies[i] * (1+FREQ_AREA)) > freq))) {