Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа № 4.docx
Скачиваний:
5
Добавлен:
09.09.2019
Размер:
34.17 Кб
Скачать

2.4 Практична робота № 4. Створення програми обробки рядків

Тема: створення програми для обробки рядків.

Мета: отримання практичних навиків при створені програм для обробки рядків. Закріплення знань по обробці рядків за допомогою спеціальних функцій або як обробка рядків як масив. Закріплення знать про оператори циклу та спеціальні функції для роботи рядків.

Обладнання та програмне забезпечення: персональний комп’ютер з встановленою операційною системою та компілятором мови програмування С++.

2.4.1 Короткі теоретичні відомості

Символьний рядок (далі просто рядок) є масивом типу char, що закінчується нуль-символом ('\ 0').

Змінну строкового типу можна описати наступними способами:

1) як масив символів:

а) char імя_массіва [n];

де n - кількість символів в рядку, включаючи завершальний нуль-символ. Наприклад, char stroka [10];

або

б) char імя_массіва [];

Наприклад, char s [];

В описі а) для змінної stroka буде виділено 10 байтів пам'яті ЕОМ.

В описі б) пам'ять виділена не буде.

Цей опис означає, що змінна s - це змінна строкового типу, довжина якої не визначена.

2) з використанням покажчика на тип char. Наприклад, char * stroka;

В даному описі пам'ять для змінної stroka не виділяється. Такий опис означає, що змінна stroka може містити адресу комірки пам'яті першого символу рядка. Виділити пам'ять для змінної stroka можна за допомогою функції new:

char * stroka = new char [20];

де 20 - це довжина рядка.

Ініціалізація змінних строкового типу

Поставити значення змінним строкового типу можна за допомогою строкових констант:

а) char stroka [10] = "рядок";

б) char stroka [] = "рядок";

У першому випадку під змінну stroka відводиться 10 байтів, але використовуються тільки перші 7 байтів (включаючи завершальний нуль-символ '\ 0').

У другому випадку змінна stroka займає 7 байтів, тобто для цієї змінної пам'ять виділяється автоматично і її розмір визначається кількістю символів строкової константи плюс завершальний нуль-символ.

2.4.2 Завдання на практичну роботи

варіанту

завдання

Умова

1

1

 Дано назву футбольного клубу. Надрукувати його на екрані стовпчиком.

2

 Дано речення всі букви е замінити на букву и.

3

 Дано текст підрахувати скільки в ньому речень.

4

 Дано речення, в якому є одна буква с і одна буква т. Визначити, яка з них зустрічається раніше і в якому слові.

5

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

2

1

 Дано слово. Чи вірно, що воно починається і закінчується на одну і ту саму літеру.

2

 Дано слово. Отримати його частину, що формується з букв, що йдуть підряд починаючи з m-ї та закінчуючи n-ю.

3

 Дано назви двох країн. Присвоїти назви змінним величинам, після чого обміняти їх місцями.

4

 Дано речення визначити кількість слів у реченні.

5

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

3

1

 Дано назву міста. Визначити чи парна кількість букв в ньому.

2

 Дано речення визначити число входження букви о в ньому.

3

 Дано речення замінити всі входження буквосполучення ах на ух.

4

 Дано текст, що має наступний вид : «d1+d2+…+dn», де di –цифри (n>1). Розрахувати записану в тексті суму.

5

 Дано два речення. Надрукувати слова, які є тільки в одному з них (в тому числі і ті, що повторюються).

4

1

 Дано назви трьох міст. Вивести найдовшу і найкоротшу назву.

2

 Дан текст. Визначити число входжень групи букв abc.

3

 Дан текст. Перетворити його, видаливши з нього всі коми, що передують першій точці, і замінивши знаком + всі цифри 3, які зустрічаються після першої точки.

4

 Дано текст знайти найбільшу кількість цифр, що йдуть підряд.

5

 Дано два речення надрукувати слова, що зустрічаються в двох реченнях тільки один раз.

5

1

 Дано текст, знайти в ньому першу кому.

2

 Дано текст. Замінити всі крапки три крапкою.

3

 Дан текст. Підрахувати найбільшу кількість йдуть підряд пробілів.

4

 Дано текст, що має наступний вид : «d1+d2-d3+…+dn», де di –цифри (n>1). Розрахувати записану в тексті алгебраїчну суму.

5

 Дано два речення. Для кожного слова першого речення визначити, чи входить воно у друге речення. Слова, що повторюються у першому реченні не розглядати.

6

1

 Дано текст знайти номер останньої коми.

2

 Дан текст, визначити кількість слів "кіт".

3

 Дано текст з’ясувати чи є 10 підряд однакових літер.

4

 Дано текст, в якому є декілька цифр підряд не більше трьох. Отримати це число.

5

 Дано послідовність слів. Надрукувати ті слова послідовності, які відрізняються від першого і відповідають наступній властивості: в слові немає букв, що повторюються.

7

1

 Надрукувати true, якщо в заданому тексті буква а (латинська) зустрічається частіше, ніж буква b і надрукувати false в противному випадку.

2

 Надрукувати заданий не порожній текст: видаливши з нього всі цифри і подвоївши знаки '+' і '-';

3

 Заданий текст роздрукувати по рядках, розуміючи під рядком чергові 60 символів, якщо серед них немає коми, або частина тексту до коми включно.

4

 Дано текст, в якому є декілька цифр підряд. Отримати це число.

5

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

8

1

 Дано ціле число N (> 0) і символ C. Вивести рядок довжини N, яка складається з символів C.

2

Дано слово. Знайти скільки раз буква "a" зустрічається в цьому слові. Чи буде це число простим. 

3

 Дан текст. Видалити з нього групу букв виду abcd.

4

 Користувач вводе квадратне рівняння, як текст. Вирішити це рівняння.

5

 Дано послідовність слів. Надрукувати ті слова послідовності, які відрізняються від першого і відповідають наступній властивості: слово симетричне.

9

1

 Дано слово і буква. Скільки разів ця буква зустрічається в даному слові.

2

 Дан текст. Встановити пробіли замість символів, номери позицій яких при діленні на 4 дають в залишку 3.

3

 Дано речення, що закінчується '.', '!', '?'. Роздільник слів - пробіл. Визначити чи буде число простих множників числа S - кількості літер "т", більше заданого числа L.

4

 Дано текст, визначити чи є він правильним десятин записом чисала.

5

 Дано речення. Надрукувати всі його слова, попередньо перетворити кожне з них за наступним правилом: видалити зі слова всі входження останньої букви (окрім її самої).

10

1

 Дано речення. Підрахувати кількість символу «*».

2

 Замінити цю букву в слові трьома крапками.

3

 Визначити, чи є заданий текст правильним записом цілого числа (можливо зі знаком). (Число закінчується крапкою).

4

 Дано текст, в якому є цифри. Знайти їх суму.

5

 Дано речення. Надрукувати всі його слова, попередньо перетворити кожне з них за наступним правилом: залишити в реченні лише перше входження кожної букви.

11

1

 Дано речення. Перевірити написання буквосполучення ща.

2

 Дано текст. Скільки в ньому слів "що".

3

 Дана непорожня послідовність непустих слів з ​​латинських букв; сусідні слова відокремлені один від одного комою, за останнім словом - крапка. Визначити кількість слів, які: починаються з літери а;

4

 Дано текст в якому є цифри, що можуть складати будь-яке число до 200 визначити суму чисел, що є у тексті.

5

Дано натуральне число n (n<1000). Надрукувати це число російськими словами (Тридцять, сто п’ять, двісті сорок один).

12

1

 Дано речення. Перевірити написання буквосполучення ча.

2

 Якщо в заданий текст входить кожна з букв слова key, тоді надрукувати yes, інакше - no.

3

 Дана непорожня послідовність непустих слів з ​​латинських букв; сусідні слова відокремлені один від одного комою, за останнім словом - крапка. Визначити кількість слів, які: закінчуються на ка.

4

 Дано текст в якому є цифри, що можуть складати будь-яке число до 200 знайти максимальне серед чисел.

5

 Дано речення. Надрукувати всі його слова, попередньо перетворити кожне з них за наступним правилом: залишити в слові лише перше входження кожної літери.

13

1

 Дано речення. Перевірити написання буквосполучення щу.

2

 Дано рядок символів. Визначити, чи варті в цьому рядку поспіль символи а і б.

3

 Дано рядок. Якщо він являє собою запис цілого числа, то вивести 1, якщо дійсного (з дробової частиною) - вивести 2; якщо рядок не можна перетворити в число, то вивести 0. Вважати, що дрібна частина дійсного числа відокремлюється від його цілої частини десятковою крапкою «.».

4

 Дано помилкове слово «алигортм» отримати вірне слово шляхом переміщення його букв.

5

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

14

1

 Дано речення. Перевірити написання буквосполучення чу.

2

 Дано не порожній рядок. Вивести коди її першого і останнього символу.

3

 На складі зберігається ряд деталей, найменування яких представляють деяку послідовність символів (наприклад, Д21А, Д52Н і т.д.). Підрахувати кількість найменувань деталей, які починаються з Д2. Усі наявні найменування вводити з клавіатури; оскільки число деталей заздалегідь не відомо, закінчувати введення даних слід введенням порожнього рядка (рядки, не містить жодного символу), тобто натисканням клавіші <ВВЕДЕННЯ> без введення найменування деталі.

4

 Дано слово. Переставити його s-ю букву на місце k-ї (s<k). При цьому (s+1)-ю, (s+2)-ю,…, k-ю сдвинути вліво на одну позицію.

5

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

15

1

 Дано текст. Підрахувати кількість входження буквосполучення «ва».

2

 Дано текст. Знайти кількість слів, що починаються на с.

3

 Дано рядка S і S0. Знайти кількість входжень рядка S0 в рядок S.

4

 Дано слово. Переставити його останню букву на першу. При цьому першу, другу, …, передостанню букви здвинути вправо на одну позицію.

5

 Дано речення. В ньому лише два слова однакові. Знайти ці слова.

16

1

 Дано речення. Перевірити написання буквосполучення жи.

2

 Дано рядок символів. Замінити в ній все знаки оклику на точки.

3

 Дано рядок, що містить повне ім'я файлу, тобто ім'я диска, список каталогів (шлях), власне ім'я та розширення. Виділити з цього рядка ім'я файлу (без розширення).

4

 Дано слово. Переставити його першу букву на місце останьої. При цьому другу, третю…, останю букви здвинути вліво на одну позицію.

5

 Дано речення. Надрукувати всі його різні слова.

17

1

 Дано речення. Перевірити написання буквосполучення ши.

2

 Дано текст. Визначити всі слова закінчуються на "ая".

3

 Дано цілі позитивні числа N1 і N2 і рядки S1 та S2. Отримати з цих рядків новий рядок, що містить перше N1 символів рядка S1 і останні N2 символів рядка S2 (у зазначеному порядку).

4

 Дано два слова. Надрукувати їх загальні букви. Букви, що повторюються не розглядати.

5

 Дано речення. Надрукувати всі його слова, які зустрічаються в ньому тільки один раз.

18

1

 Дано речення. Замінити всі пробіли на символ «_».

2

 Дан символ C. Вивести його код (тобто його номер в кодової таблиці).

3

 Дано рядка S і S0. Видалити з рядка S перший підрядок, що збігається з S0. Якщо співпадаючих підрядків немає, то вивести рядок S без змін.

4

 Дано два слова. На друкувати букви, що не повторюються в них.

5

 Дано речення. Чи вірно, що його найдовше слово більше 10 символів.

19

1

Дано речення. Замінити всі буквосполучення «да» на «не». 

2

 Дано ціле число N (32 <= N <= 126). Вивести символ з кодом, рівним N.

3

 Дана рядок, що містить повне ім'я файла, тобто ім'я диска, список каталогів (шлях), власне ім'я та розширення. Виділити з цього рядка розширення файлу (без попередньої точки).

4

 Перевірити чи є перевертишем рядок після видалення з нього всіх пробілів.

5

 Дано речення. Надрукувати, його найдовше слово (прийняти, що таке слово єдине).

20

1

 Дано слово. Поміняти місцями m-ю і n-ю букви.

2

 Дано символьний рядок. Знайти найбільшу послідовність букв а.

3

 З вказаного рядка видалити всі цифри, підрахувати кількість та суму вилучених цифр, замінити усі великі латинські літери на маленькі.

4

 Дано слово. Поміняти місцями першу букву а і останню букву о. Врахувати можливість, що таких літер може і не бути.

5

 Дано речення. Надрукувати всі його слова, що відрізняються від слова «привіт».

21

1

 Дано символ. Визначити чи цифра це.

2

 Дано символ С. Вивести два символи, перший з яких передує символу С в кодової таблиці, а другий - слід за символом С.

3

 Введіть рядок Замініть в ній все "Н" на "НОН". Виведіть результат на екран.

4

 Дано слово з 15 літер. Переставити в зворотному порядку букви, що розміщені між k-ю и s-ю буквами. Значення k і s водяться з клавіатури, k<s.

5

 Дано речення. Надрукувати його в зворотному порядку слів.

22

1

 Дано речення. Визначити долю(в %) символу а в ньому.

2

 Дано ціле число N (1< N< 26). Вивести N першої великої (тобто заголовних) букв латинського алфавіту.

3

 Дано рядок символів. Видалити з неї перший знак пунктуації.

4

 Дано слово і парної кількості літер. Поміняти місцями його половини.

5

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

23

1

 Дано слово s1, що отримано з непарних символів слова s2.

2

Підрахувати в рядку число букв А і В, якщо букв А більше, ніж В,

то видалити в рядку всі символи В.

3

 Дано речення в якому зустрічаються цифри. Перенести всі цифри в кінець рядка, при цьому порядок літер не зміюється.

4

 Дано слово. Якщо його довжина непарна, то видалити середню букву, в іншому випадку дві середніх букви.

5

 Дано два слова. Для кожної букви першого слова визничити чи входить вона у друге слово. Букви, що повторюються у першому слові не розглядати. Наприклад, якщо задані слова процесор і інформація, то для букв першого слова повинно бути: ні, так, так, так, ні, ні.

24

1

 Дано два слова. Перше коротше другого. Замінити відповідну кількість символів другого слова на перше слово.

2

 Рядок містить англійський текст. Підрахувати кількість літер, що починаються на букву b.

3

 Введіть рядок. Видаліть з неї частину тексту, укладену між першим і другим пробілами.

4

 Дано речення видалити з нього всі букви с. Відповідно змістіть букви, що залишаться.

5

 Дано речення поміняти місцями його перше і останнє слова.

25

1

 Дано речення звернення за ім’ям. Визначити це звернення адресоване заданій людині.

2

 Дана символьний рядок. Підрахувати в ній кількість букв r, k, t.

3

 Дано речення. Якщо воно починається і закінчується одним і тим самим знаком, видалити із рядка всі входження 4 символу.

4

 Дано слово. Видалити з нього всі букви, що повторюються, залишивши їх переш входження.

5

 Дано речення, що містить три слова. Надрукувати тільки ті букви слів, які є тільки в одному зі слів. Букви, що повторюються в кожному слові не розглядати.

26

1

 Дано речення надрукувати всі символи у стовпчик до першої коми.

2

 Дано символьний рядок. Визначити, чи є в рядку слово з трьох букв.

3

 Дано речення. Після кожного 4 символу слова поставити крапку і видалити останні літери.

4

 Дано речення. Замінити в ньому всі входження підрядка s1 на підрядок s2.

5

 Дано три слова. Надрукувати тільки ті букви слів, які є тільки в одному зі слів. Букви, що повторюються в кожному слові розглядати.

27

1

 Дано символьний рядок. Визначити кількість пробілів в цьому рядку.

2

 Дано рядок. Визначити кількість сусідніх однакових літер.

3

 При натисненні на клавішу вивести код цієї клавіші.

4

 Дано два слова. Визначити, скільки початкових букв першого слова співпадає з початковими буквами другого слова.

5

 Дано речення з трьох слів. Надрукувати букви, що не повторюються в словах.

28

1

 Отримати рядок з n символів «*».

2

 Дано рядок. Визначити, чи є в ній буква s.

3

 Дано рядок. У рядку є символи '*'. Підрахувати кількість підрядків, укладених між символами '*'. Визначити найдовшу підрядок.

4

 Дано текст, що має наступний вид : «d1*d2*d3*…*dn», де di –цифри (n>1). Розрахувати записаний в тексті добуток.

5

  Дано послідовність слів. Надрукувати ті слова послідовності, які відрізняються від першого і відповідають наступній властивості: слово має однакові літери.

29

1

 Дано слово. Надрукувати його в зворотному порядку.

2

 Введіть рядок (слова розділені одним або кількома пробілами). Видаліть останню букву кожного слова.

3

 У заданому рядку знайти кількість підрядків, що складаються з цифр.

4

 Дано текст, що має наступний вид : «d1-d2-d3-…-dn», де di –цифри (n>1). Розрахувати записану в тексті різницю.

5

 Дано речення з десяти слів. Заповнити ними масив з десяти елементів.

30

1

 Дано слово. Вивести на екран його k-й символ.

2

 Введіть рядок. Порахуйте, скільки слів у ній починається на букву А (слова розділені одним або кількома пробілами).

3

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

4

Дано слово, що складається з парної кількості букв. Вивести на екран його першу половину, не використовуючи оператор циклу. 

5

 Дано послідовність слів. Надрукувати ті слова послідовності, які відрізняються від першого і відповідають наступній властивості: слово має здвоєні літери.

2.4.3 Зміст звіту

  1. Тема практичної роботи.

  2. Мета практичної роботи.

  3. Варіант.

  4. Завдання за варіантом.

  5. Блок-схема алгоритму до будь-якої задачі.

  6. Текст програм на мові С++.

  7. Результати роботи програм.

  8. Відповіді на контрольні запитання.

  9. Висновок.