-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspecyfikacja_implementacyjna
83 lines (42 loc) · 1.49 KB
/
specyfikacja_implementacyjna
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Masłowski Szymon 271070 Gr2 JiMP2 Projekt
Specyfikacja implementacyjna programu realizującego algorytm łańcuchów Markova:
Język C standard ANSI;
Używane biblioteki:
• stdlib.h
• stdio.h
• string.h
• math.h,
• time.h
Moduły :
1. assoc_tab:
• void push(int has_val, char *word) // dodaje do tablicy przejsc
• char* get_by_hash(int hash_val, int number) //zwraca słowo na pozycji number w
tablicy przejść, jeżeli nie ma takiego to zwraca pusty cstring.
2. hash:
• int hash(char *word[], int amount) zwraca wartosc haszu dla zadanej ilosci slow
1. 3. linked_list:
• push (char *data) //podaje na koniec listy podane slowo
4.stats:
• void read_from_file(FILE *in)
• void write_to_file(FILE *out)
• void count_frequency(*assoc_tab)
Stuktury:
1. assoc_tab{
int size;
linked_list *possibilities;
2. };
3. linked_list{
node* next;
char *word;
4. }
5. stat_help{
char* origin;
int count;
6. }
Ogólny opis:
Program wczytując dane z plików wyliczać będzie wartości haszy na podstawie, których będzie
odwoływał się do tablicy struktur assoc_tab, w której będzie ilość możliwości i możliwości
następników, przetrzymywane w liście liniowej. Podczas generowania tekstu będzie przeliczany
będzie „aktualny hasz” i na tej podstawie losowane jest słowo z tablicy możliwości.
Przy tworzeniu statystyk zliczone zostaną wystąpienia przez zliczanie(indeksowanie po
wartościach haszy), następnie odpowiednio przeliczone i zestawione.