Page 66 - 4989
P. 66
Продовження таблиці 7.1
3. Серед 10 текстових файлів з поточного каталогу знайти ті, у
яких зустрічається задане ключове слово. Кожен файл
обробляти в окремому потоці, причому загальна кількість
запущених потоків у кожен момент часу не повинна
перевищувати кількості логічних процесорів.
4. Текстовий файл містить довгий текст англійською мовою.
Підрахувати, скільки разів зустрічається у тексті кожна із
26 букв англійського алфавіту, використовуючи кілька
потоків для обробки частин файлу.
5. Задана квадратна матриця розміром 1000*1000 з
цілочисленими елементами. Необхідно утворити матрицю,
у якій замість кожного елемента Х буде середнє
i,j
арифметичне цього елемента та його 4 сусідів X i,j-1 , X i-1,j ,
X i,j+1 , X i+1,j . (i=1...N-2, j=1...N-2). Використати кілька потоків
для кількох частин матриці.
6. Текстовий файл містить довгий текст. Необхідно визначити,
скільки разів зустрічається у файлі кожне з 4 ключових слів.
Для кожного ключового слова використати окремий потік
пошуку. По мірі знаходження слів слід виводити
інформацію про позицію у файлі, за якою вони знайдені.
7. Задано масиви Х із N=100000 елементів та Н із M=100
елементів типу float. Необхідно знайти згортку:
, i=0...N+M-1
Для від’ємних індексів приймати значення Х нульовими.
Використати окремі потоки для обчислення перших М
значень та всіх наступних. В основному потоці кожну
секунду виводити інформацію про кількість обчислених
значень.
8. Текстовий файл містить довгий текст. Необхідно скласти
словник – список всіх слів, що зустрічаються у даному
тексті, впорядкований по алфавіту. Використати кілька
потоків для обробки частин файлу. Можна використовувати
контейнери та алгоритми стандартної бібліотеки С++.
66