програмування в С++
Заняття 13 (30.11.2016) |
Добавил(а) Administrator | ||||||||||||||||||||||||||||||||||||||||||||
06.12.16 16:09 | ||||||||||||||||||||||||||||||||||||||||||||
Функції для опрацювання рядків strlеn(<рядок>) — визначає фактичну кількість символів у рядку, застосовується у виразах; strcat(rl, r2) - команда з'єднання рядків г1, г2 в один рядок, результат присвоює змінній г1; strncat(r1, г2, n) - до змінної г1 додає перших n символів рядка г2, команда; strcpy(r1, r2) - копіює символи з рядка г2 в рядок г1, команда; strncpy(r1, r2, n) — копіює перших n символів рядка г2 в рядок r1, команда; strchr(r1, <символ>) - визначає перше входження деякого символу у рядок r1 так: повертає рядок, який починається від першого входження заданого символу до кінця рядка r1, застосовується у виразах; strrchr(r1, <символ>) - визначає останнє входження заданого символу у рядок, застосовується у виразах; strspn(r1, r2) — визначає номер першого символу, який входить у рядок г1, але не входить у рядок г2, застосовується у виразах strstr(r1, r2) - визначає в рядку г1 підрядок, що починається з першого входження рядка г2 у рядок г1, застосовується у виразах; strtok(r1, r2) - визначає частину рядка г1, яка закінчується перед першим однаковим символом рядків г1 та г2; strnset(r1, <символ>, n) - вставляє n разів заданий символ перед рядком r1, застосовується у виразах; strupr(rl) - перетворює усі малі літери рядка у великі; strlwr(rt) - перетворює усі великі літери рядка у малі; strrev(rl) - записує рядок у зворотному порядку. strcmp(s1,s2) - порівнює рядок s1 з рядком s2 і повертає результат типу int: 0 – якщо рядки однакові, >0 – якщо s1<s2, <0 — якщо s1>s2 з врахуванням регістру. cin.getline(str,sizeof(str))- Зчитування рядка з пропусками (тип char)
Практичні завдання 1. Підрахувати кількість цифр в натуральному числі. #include "string.h" int main() {char n; cin>>n; cout<<strlen(n);} 2. Вивести число з п’яти (n) цифр введене з клавіатури в зворотному порядку. 3. Підрахувати кількість входження заданого символу в рядок. 4. Знайти і замінити заданий символ на інший в рядку.
Олімпіадні задачі Задача1. ACMWorldFinals Ім’я вхідного файлу: acm.in Ім’я вихідного файлу: acm.out Дехто з вас, мабуть, знає, що кожного року проводиться чемпіонат світу з програмування серед студентів. У фінал цього змагання проходять близько 80 команд з усього світу. Кожна команда складається з трьох чоловік і має назву. Напишіть програму, яка по короткій назві команди і прізвищах її учасників, формує повну назву команди. Повна назва команди складається з короткої назви команди і списку прізвищ її учасників. Прізвища учасників у списку мають бути впорядковані за абеткою і відділені одне від іншого комами. Назва команди від прізвищ учасників має бути відділена двокрапкою. Після кожного розділового знаку має бути рівно один пробіл. Формат вхідних даних: вхідний файл містить рівно 4 рядки. Перший рядок містить назву команди. Кожен із наступних трьох рядків містить прізвище одного із членів команди. Довжини рядків не перевищують 50 символів. Формат вихідних даних: єдиний рядок вихідного файлу має містити рівно один рядок з повною назвою команди. Приклад вхідних і вихідних даних:
Задача 3. Дужки. Перевірити в виразі правильність розставлення дужок. Вивести повідомлення (Yes|No). Задача 4.Вираз Обчислити вираз, який містить операції( +,-,*,/), цілі числа (2, -5), дужки. 5 - НеуважністьСтепан вдало пройшов співбесіду і ось уже як чотири місяці працює на одній із самих престижних ІТ компаній. Прийшов час здавати проект менеджеру і Степан, як істинний студент, все виконує у останню ніч перед здачею. Набирає текст Степан звичайно дуже швидко, але неуважно. От і цього разу останню частину тексту він набрав не звернувши уваги, що випадково натиснув клавішу caps lock. Таким чином великі букви були набрані маленькими, а маленькі великими. Інші символи він набрав вірно. Степан настільки стомився, що немає сил виправити помилки, і він вирішив кілька годин поспати. Допоможіть Степану, доки він спить, напишіть програму, яка виправляє неуважно набраний текст. Формат вхідних даних: перший рядок вхідного файлу містить неуважно набраний Степаном текст, який містить не більше 500 символів. Формат вихідних даних: вихідний файл має містити виправлений текст.
6 - АрифметикаМолодший брат Степана Мишко навчається у першому класі. Він дуже допитливий і постійно дістає Степана запитаннями: А скільки? А чому? Сьогоднішній день не виключення. Мишко каліграфічно виписує цифри в ряд і запитує: А скільки різних цифр у записі цього числа. На перші приклади Степан швидко знаходив відповідь. Але Мишко чим далі, тим більші числа записував. Це стало для Степана проблемою. Допоможіть Степану, напишіть програму, яка визначає, кількість різних цифр у числі Мишка. Формат вхідних даних: перший рядок вхідного файлу містить одне ціле число N (1 ≤ N ≤ 101000), записане Мишком. Формат вихідних даних: вихідний файл має містити одне число – кількість різних цифр у числі.
Домашнє завдання Повторити операції з масивом. |