Курсая
.docx
Исходные
данные: A
– указатель на строку текста size_d
– количество элементов в строке
разделителей POD_S
– количество элементов
в
подстроке.
POD
- указатель
на подстроку D
– указатель на строку разделителей. N
–
указатель
на количество чисел в массиве информации Рабочие
переменные: I
– Индекс
символа текста Dl–
количество символов в текущем слове
строки K
– Количество
элементов совпавших со строкой
J
– индекс
элемента строки разделителей K_Slov
– количество подстрок в строке Результат: B
–указатель на массив чисел содержащий
информацию о расположении слов и
количество подстрок.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
17
18
19
20
21
22
23
24
Описание функции inf_fun.
Прототип int* inf_fun(*A, *N, *D, size_d, POD, POD_S);
Функция принимает 6 аргументов: указатель на строку (строка текста которую будет анализировать функция), указатель на целочисленный элемент(количество элементов в массиве информации), указатель на строку (строка разделителей),целочисленная переменная(количество символов в строке разделителей), указатель на строку(подстрока), целочисленная переменная(количество элементов в подстроке). Функция исследует строку и записывает в целочисленный массив информацию в виде последовательно записанных индексов первых и последних символов слова в строке текста. В последний элемент массива записывается информация о количество подстрок в строке текста.
Возвращает указатель на массив информации о массиве.
Таблица проверки алгоритма функции inf_fun.
№ блока |
I |
J |
Size_str |
Size_d |
N |
K |
K_slov |
DL DL |
POD_S |
B[N] |
B[N+1] |
I != ‘\0’ |
J < size_d
|
A[I] != D[J]
|
J = size_d
|
DL != 0 |
K = POD_S |
Dl <= POD_S && A[I] = POD[DL]
|
|
|
|
|
6 |
2 |
0 |
|
|
0 |
2 |
|
|
|
|
|
|
|
|
|
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
10 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
12 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
9 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
12 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ блока |
I |
J |
Size_str |
Size_d |
N |
K |
K_slov |
DL DL |
POD_S |
B[N] |
B[N+1] |
I != ‘\0’ |
J < size_d
|
A[I] != D[J]
|
J = size_d
|
DL != 0 |
K = POD_S |
Dl <= POD_S && A[I] = POD[DL]
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
11 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
14 |
|
|
|
|
|
|
|
|
|
0 |
2 |
|
|
|
|
|
|
|
|
16 |
|
|
|
|
2 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
18 |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
9 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
12 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
9 |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
12 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
5 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ блока |
I |
J |
Size_str |
Size_d |
N |
K |
K_slov |
DL DL |
POD_S |
B[N] |
B[N+1] |
I != ‘\0’ |
J < size_d
|
A[I] != D[J]
|
J = size_d
|
DL != 0 |
K = POD_S |
Dl <= POD_S && A[I] = POD[DL]
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
11 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
14 |
|
|
|
|
|
|
|
|
|
3 |
5 |
|
|
|
|
|
|
|
|
16 |
|
|
|
|
4 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
20 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
|
22 |
|
|
|
|
5 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
23 |
Возврат B |
|