
- •Іі семестр Лабораторна робота №1
- •Запишіть ланцюг рекурсивних викликів та поясніть роботу заданої рекурсивної функції:
- •Запишіть ланцюг рекурсивних викликів та поясніть роботу заданої рекурсивної функції:
- •Лабораторна робота №2
- •Лабораторна робота №3
- •Лабораторна робота №4
- •Лабораторна робота № 5 Тема: Вказівники на функції. Масиви вказівників на функції. Функції з довільним числом параметрів.
- •Лабораторна робота № 6 Тема: Динамічний розподіл пам’яті. Динамічні одновимірні масиви.
- •Лабораторна робота № 7-8
- •Лабораторна робота № 9
- •Лабораторна робота № 10
- •Лабораторна робота № 11
- •Лабораторна робота № 12
- •Лабораторна робота № 13
- •Лабораторна робота № 14-16
Лабораторна робота № 9
Тема: Рядки у С.
Мета: Формування вмінь і навичок обробки рядків у С.
Контрольні запитання:
Який рядок називають ASCIIZ- рядком?
Способи оголошення ASCIIZ – рядків. Ініціалізація.
Ввід - вивід рядків.
Функції gets(), gets_s(), cin.getline(),cin.get().
Які з оголошень рядків є коректними? Відповідь обгрунтуйте.
char str0[] ="Good day!";
char str1[] = {'A','B','C'};
char str2[] = {'D', 70, 'G', 0};
char str4[] = {'A','B','\0','C'};
char *str5 = "abcdefgh";
char str6[] ="\\0\\ minutes\0 we have!";
Для кожного правильно оголошеного рядка(див.завд 5) виконайте наступні дії:
обчисліть значення sizeof()
обчисліть значення strlen()
виведіть рядок на екран
замініть перший символ рядка на ‘*’ : str[0] = ‘*’
Результати поясніть.
Поясніть роботу наступних рядків коду:
cout<< "We learn C- string" + 3 <<endl;
cout<< *("We learn C- string" + 5) <<endl;
cout<< "We learn C- string"[0] <<endl;
.
Завдання 1. Створити програму для виконання задачі згідно варіанту.
Варіанти:
Дано рядок. Порахувати кількість голосних букв у рядку.
Вводиться рядок. Порахувати кількість букв ’а’ у рядку.
Дано рядок. Замінити кожний символ ’+’ у рядку на символ ’-’. Написати відповідну функцію.
Дано рядок. Написати функцію, яка повертає кількість цифр у рядку. Перевірити роботу функції.
Дано рядок. Замінити у рядку кожну латинську букву наступною про алфавіту(букв ‘z’, ‘Z’ замінювати буквою ‘a’, ‘A’). Наприклад, рядок “Zebra has two colors” має перетворитися на “Afcsb ibt uxp dpmpst”. Написати відповідну функцію шифрування рядка.
Дано текст. Визначити чи у текст входять всі букви слова “win”.
Дано рядок. Замінити кожну цифру рядка на символ крапки. Написати відповідну функцію.
Вводиться рядок, що містить символи крапка. Вивести послідовність символів, розміщених між першою та другою крапкою.
Вводиться рядок. Порахувати кількість букв латиниці у рядку.
Вводиться рядок. Визначити чи у тексті зустрічається сполучення букв ‘no’.
Вводиться рядок. Визначити чи він є паліндромом(читається однаково .з обох сторін).
Дано текст, що складається з кількох речень. Речення можуть закінчуватися знаками ‘.’, ‘?’,’!’. Порахувати кількість речень у тексті.
Дано рядок з формулою. Знайти кількість арифметичних операцій та кількість аргументів у формулі.
Завдання 2. Створити програму для виконання задачі згідно варіанту. Написати відповідну функцію для роботи з рядком(рядками). При розв’язанні задачі не користуватися бібліотечними функціями.
Варіанти:
Вставити ’*’ після кожного входження букв ’а’ чи ’А’. Результат розмістити у новому рядку.
Видалити у рядку всі входження заданої букви. Результат розмістити у новому рядку.
Виконати копію символів латиниці з одного рядка у інший.
Написати та протестувати свою власну функцію – аналог бібліотечної функції strlen().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strcpy().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strncpy().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strcat().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strcmp().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strncat().
Написати та протестувати свою власну функцію – аналог бібліотечної функції atoi().
Написати та протестувати свою власну функцію – аналог бібліотечної функції stricmp().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strpbrk().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strchr().
Написати та протестувати свою власну функцію – аналог бібліотечної функції itoa().
Написати та протестувати свою власну функцію – аналог бібліотечної функції strrchr().