льового елемента в глобальний масив рядків words. Після кожного ліченого слова виконується инкрементирования i. Цикл працює до тих пір, поки команда feof не поверне 1. Feof перевіряє виконання умови закінчення файлу і в разі невиконання повертає 0
fscanf (book, "% s", & words [i]);} - зчитування слів з файлу
fclose (book); - закриття обробленого файлу
* j = i; - процес присвоювання
t = 1; - процес присвоювання глобальної змінної значення 1. Введення даної змінної обумовлений тим, що виведення результатів програми неможливий до тих пір, поки не буде лічена інформація з файлу. Функції на виведення результатів працюють тільки при позитивному значенні t
}}
int Scan (CNT * V, int * i) - прототип функції типу int підрахунку введених слів з файлу з параметрами-покажчиками на структуру і змінну типу int
{
int j, d, s, q = 0; - оголошення змінних типу int
char vyvod [50], prov [] = ":: null ::"; - оголошення строкових змінних
for (j = 0; j! = * i; j + +) {- цикл обробки всіх лічених слів
d = 0; - лічильник кількості слів
if (strcmp (words [j], prov) == 0) {continue;} - умова перевіряє чи відповідає слово з масиву рядків words [j] заздалегідь заданій рядку prov. Якщо дана умова виконується, то цикл пропускає поточну ітерації. p align="justify"> else {- якщо умова не виконується, то слід виконання даного оператора
strcpy (vyvod, words [j]); - у рядок vyvod копіюється рядок words [j]. Далі цей рядок буде порівнювати з рядками з масиву рядків words і заноситься в структуру CNT V як унікальна. Всі повторні збіги даного слова будуть замінюватися на значення рядка prov :: null :: . Нагадую, що попередній цикл перериває ітерацію при зустрічі даного значення, що дозволяє уникнути підрахунку зайвого слова.
for (s = 0; s! = * i; s + +) {- цикл порівняння масиву рядків із заданою рядком vyvod
if (strcmp (vyvod, words [s]) == 0) {d + +; strcpy (words [s], prov);}} - якщо слово зустрінуте в масиві рядків words одно заданому слову, то відбувається його затирання словом prov і инкрементирования лічильника
strcpy (V [q]. word, vyvod); V [q]. num = d; q + +;}} - копіювання заданого слова і кількість його повторень в структуру STR V (" a a a "); - 3 звукових сигналу по закінченню обробки
return q; - повернення функцією значення q з типом int
}
void Delete (int * i) - прототип функції видалення з слів знаків пунктуації з параметром-покажчиком на змінну типу int
{
char spr [] = "! <В« [] В...