logo
ООП для Заоч / Пинчук Лозовская Программир на С

13.11. Пошук заданої послідовності символів у файлі

Задача

Маємо файл і деяку послідовність символів (рядок) D. Визначити кількість входжень послідовності символів D у файл.

Алгоритм

Для розв’язування цієї задачі зручно застосувати структуру типу "стек". У якості стека буде працювати одновимірний масив байтів S[0], S[1], ... , S[n-1], розмір якого відповідає довжині наданої послідовності D. Вершиною стека будемо вважати останній елемент масиву S[n-1]. Визначимо для стека єдину операцію - занесення символу у стек, реалізуємо цю операцію за допомогою окремої функції push. Стек S реалізуємо у програмі як динамічний масив.

Наведена нижче програма знаходить кількість входжень наданої послідовності символів у наданому файлі. Для контролю програма виводить також довжину файла. Зверніть увагу на те, що для стеку у програмі утворюється масив S розміром на одиницю більший, ніж довжина зразка, який вводиться у масив D. Додатковий байт заповнюється нулем. Це потрібно для правильної роботи бібліотечної функції strcmp, яка виконує порівняння рядків.

// Приклад 1

#include <syst.h>