Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
29.02.2016
Размер:
140.8 Кб
Скачать

10.2. Приклад

#include <string>

using namespace std;

int main()

{

string hi(“hello”); // створення й ініціалізація нового рядка

string lo=“greetings”; // ще одна ініціалізація

string g(lo); // третя ініціалізація

string es=””; // порожній рядок

string s; // ініціалізація порожнього рядка

return 0;

}

10.3. Порядок виконання роботи

10.3.1. Проаналізувати умову задачі.

10.3.2. Розробити алгоритм та створити програму розв’язання задачі згідно з номером варіанту.

10.3.3. Результати роботи оформити протоколом.

10.4. Варіанти завдань

  1. Знайти кількість входжень заданого символу в заданий рядок.

  2. Отримати рядок, що являє собою конкатенацію двох рядків.

  3. Визначити довжину рядка.

  4. Порівняти два введених рядки.

  5. Замінити всі входження символу 'а' в рядку на символ 'б'.

  6. Замінити перший та четвертий символ рядка на букву 'а'.

Завдання підвищеної складності.

1. Задано послідовність стрингів різної довжини. Отримати номери всіх рядків, що містять як фрагмент перший рядок. В результаті отримати послідовності стрингів з виключеними пробілами та знайденими фрагментами першого рядка.

2. Дано натуральне число n, символи . Визначити число входжень у послідовність групи літер abc, aba.

3. Скласти програму, що дозволяє визначити позиції всіх входжень у заданий рядок якого-небудь символа із другого заданого рядка. Результатом роботи програми повинна бути -1, якщо перший рядок не містить в собі жодного символа, що належить водночас другому рядку.

4. Скласти процедуру "стиснення" вхідної послідовності символів: кожна підпослідовність, що складається з декількох входжень одного і того ж символа, замінюється на текст , де — символ, а — рядок, що є записом числа входжень символа у вхідну послідовність.

5. Скласти процедуру побудови рядка символів, що є записом заданого дійсного числа у десятковій, двоїчній та 16-ричній системах числення. Рядок повинен містити вказану кількість цифр після коми.

6. Скласти процедуру обчислення значення цілого числа за заданим рядком символів, що є записом цього числа у десятковій, 16-ричній та двоїчній системах числення. У випадку вводу числа у 16-ричній та двоїчній системах счислення необхідно скласти функцію їх переводу у десяткову систему.

7. Зафіксуємо натуральне число та перестановку чисел (її можна задати за допомогою послідовності натуральних чисел , в яку входить кожне з чисел ). Під час шифровки у вхідному тексті до кожної з послідовних груп по символів застосовується зафіксована перестановка. Нехай =4 та перестановкою є 3,2,4,1. Тоді група символів замінюється на . Якщо в останній групі менше чотирьох символів, то до неї добавляються пробіли. Користуючись наведеним способом, зашифрувати та розшифрувати заданий текст.

8. Ввести з клавіатури стрингову константу, переводячи малі літери у великі. Виділити 16-річні константи, перемножити їх. Представити виділені числа та їх добутки у десятковій системі счислення.

9. Ввести послідовностей стрингових констант різної довжини. Представити їх у вигляді символьної матриці розмірності , де — змінна, що задається з клавіатури. Перевести кожний символ у відповідний код ASCII.

10. Ввести послідовностей стрингових констант різної довжини. Вирівняти їх у відповідності з довжиною найбільш короткої. Представити їх у вигляді символьної матриці. Виконати:

1) установку заданих елементів матриці у задане значення;

2) Визначити номери ідентичних рядків.

11. Ввести символьну матрицю. Інвертувати її відносно середини рядку. Перетворити матрицю у стринг. Знайти довжину стринга.

12. Ввести стрингову константу. Перетворити її у трьохдіагональну матрицю, присвоївши для цього нулі відповідним елементам. Транспонувати отриману матрицю відносно середини (середнього рядку). Конкатенувати два рядки отриманої матриці. Вивести всі проміжні та кінцеві результати.

13. Ввести стрингові константи. Знайти найбільше слово серед слів, друга літера яких є літерою а; якщо слів з найбільшою довжиною є декілька, то знайти останнє. (Словом будемо називати групи символів, що поділені пробілами (одним або декількома), а також що не містять в собі пробілів.) Якщо таких слів нема, то повідомити про це. Розв'язати цю задачу, якщо:

1) слова складаються не більш як із 10 символів;

2) не накладено обмежень на кількість символів у слові.

14. Ввести послідовностей символьних констант. Покладаючи, що кількість символів у слові не перевищує 20:

1) визначити, скільки є слів, що складаються з одного, двох, трьох і т.п. символів;

2) визначити загальну кількість слів.

15. Ввести дві стрингові константи. Визначити співпадання їх компонент. У випадку розходжень отримати номери не співпадаючих компонент. У результаті отримати перетин стрингів.

16. Для того щоб зашифрувати текст з 121 літери, його можна записати у квадратну матрицю порядку 11 по рядках, після чого прочитати його по спіралі, починаючи з центра (елемента, що має індекси 6,6). Зашифрувати та розшифрувати заданий текст. Текст вводиться з клавіатури.

17. Наступний спосіб призначений для шифровки послідовностей нулів та одиниць (або крапок та тире). Нехай — така послідовність. Послідовність — результат шифрування, що створено за допомогою наступного закону:

Використовуючи наведений спосіб, зашифрувати та розшифрувати задану послідовність.

18. Для того щоб зашифрувати текст, записаний російськими літерами та знаками пунктуації, його можна переписати, замінюючи кожну літеру літерою, що слідує за нею через символів. (При цьому можна уявити, що літери виписано по колу, як цифри на циферблаті.) Зашифрувати та розшифрувати заданий текст.

19. Реалізувати спосіб шифрування, який полягає у табличній заміні кожного символа другим символом — його шифром. Вибрати деяку таблицю, розробити спосіб її представлення. Зашифрувати та розшифрувати текст.

20. Задано символьну матрицю розмірністю .

1) Транспонувати її відносно головної діагоналі.

2) Представити верхню діагональну матрицю стрингами.

21. Задано дві матриці цілих чисел розмірністю та відповідно. Виконати перемноження цих матриць, якщо це не можливо, зменшити їх таким чином, щоб це можна було зробити. Обчислити кількість елементів отриманої після перемноження матриці. Представити її у вигляді стрингів.

22. Ввести з клавіатури стрингову константу, не відрізняючи малі та великі літери. Визначити кількість входжень в неї 16-ричних чисел. Подати знайдені числа у двоїчній та десятковій системах числення.

23. Нехай по деякому каналу зв'язку передається повідомлення, що має вигляд послідовності нулів та одиниць (або крапок та тире). Із-за завад можливий помилковий прийом деяких сигналів: нуль може бути прийнятий як одиниця та навпаки. Можна передавати кожний сигнал тричі, замінюючи, наприклад, послідовність 1,0,1 послідовністю 111 000 111. Три послідовні цифри під час розшифровки замінюються тією цифрою, яка зустрічається серед них найчастіше. Таке шифрування підвищує стійкість до помилок. Написати програму розшифровки.

24. Групи символів, що розмежовані пробілами (одним або декількома) та не містять пробілів у середині себе, називаються словами. Порахувати кількість слів у заданій послідовності, що починаються з літери b. Розташувати слова у алфавітному порядку.

25. Знайти у заданій послідовності кількість слів, у яких перший та останній символ співпадають. Знайти довжину найкоротшого слова.

26. Знайти у заданій послідовності слова, що містять групи літер ba, ma. Замінити малі літери в цих словах однойменними великими.

Соседние файлы в папке Методичка_Ci