- •Лабораторна робота №11. Використання рядків
- •7.1. Загальні теоретичні відомості Рядки як одновимірні масиви символів
- •7.2. Створення віконного застосування
- •Компонент ListBox
- •Компонент ComboBox
- •Компонент-кнопка BitBtn
- •Обробка подій
- •7.3. Приклад виконання завдання
- •7.3.1. Створення віконного застосування
- •7.3.2. Створення консольного застосування
- •7.4. Індивідуальні завдання
7.3.2. Створення консольного застосування
Для введення рядка, що містить пропуски використовуємо функцію gets (см лаб.раб. №1).
Текст функції main() може мати наступний вигляд:
#include <string.h>
void main()
{
int n, i, nst, len;
char st[81];
puts(" Input string ");
gets(st);
if (st[0] != ' ') n = 1; // Тут і нижче ' ' - пропуск
else n = 0;
len = strlen(st);
for(i=1; i<=len; i++) // Перегляд символів рядка
if(st[i] == ' ' && st[i+1] != ' ') n++;
printf("\n Words = %d", n); // Виведення кількості слів
puts("\nPress any key ... ");
getch();
}
Результат виконання представленої програми матиме наступний вигляд:
7.4. Індивідуальні завдання
У віконному застосуванні початкові дані вводити з компоненти Edit в ListBox (закінчувати натисненням Enter). Скалярний результат виводити в компоненту Label. Для виходу з програми використовувати кнопку «Close».
1. У рядку, що складається з груп нулів і одиниць, розділених пропусками, знайти кількість груп з п'ятьма цифрами.
2. У рядку, що складається з груп нулів і одиниць, знайти і вивести на екран найкоротшу групу.
3. У рядку, що складається з груп нулів і одиниць, підрахувати кількість символів в щонайдовшій групі.
4. У рядку, що складається з груп нулів і одиниць, знайти і вивести на екран групи з парною кількістю символів.
5. У рядку, що складається з груп нулів і одиниць, підрахувати кількість одиниць в групах з непарною кількістю символів.
6. З рядка, що складається з букв, цифр, ком, точок, знаків + і, -, виділити підрядок, який відповідає запису цілого числа.
7. З рядка, що складається з букв, цифр, ком, точок, знаків + і, -, виділити підрядок, задаючий дійсне число з фіксованою точкою.
8. З рядка, що складається з букв, цифр, ком, точок, знаків + і, -, виділити підрядок, задаючий дійсне число з плаваючою точкою.
9. Даний рядок символів, що складається з цифр, розділених пропусками. Вивести на екран числа цього рядка в порядку зростання їх значень.
10. Даний рядок символів, що складається з цифр, розділених пропусками. Вивести парні числа цього рядка.
11. Даний рядок, що складається із слів англійською мовою, розділених пропусками. Вивести на екран ці слова в порядку алфавіту.
12. Даний рядок, що складається із слів, розділених пропусками. Вивести на екран порядковий номер слова, k, що містить, -у позицію, якщо в k -ої позиції пропуск, то - номер попереднього слова. Значення k ввести з клавіатури.
13. Даний рядок, що складається із слів, розділених пропусками. Розбити початковий рядок на два підрядки, причому перша завдовжки k символів, якщо на k -у позицію потрапляє слово, то його слід віднести до другого рядка. Значення k вводиться з клавіатури.
14. Даний рядок, що складається із слів, розділених пропусками. Вивести на екран порядковий номер слова максимальної довжини і номер позиції рядка з якою воно починається.
15. Даний рядок, що складається із слів, розділених пропусками. Вивести на екран порядковий номер слова мінімальної довжини і кількість символів в цьому слові.
16. У рядку символів порахувати кількість дужок різного виду.
Структура звіту
-
Назва роботи.
-
Тема роботи.
-
Мета роботи.
-
Перелік використних компонентів.
-
Властивості використаних компонентів та події, що вони забезпечують. (Доцільно оформити у вигляді таблиці.)
-
Скрін-шот працюючого додатку.
-
Програмний код додатку.
-
Відповіді на контрольні питання до роботи.
Контрольні питання
-
Дайте визначення символу та рядка символів.
-
За допомогою якого типу даних описуються символьні змінні?
-
До якого типу відноситься тип даних char?
-
Що таке набір ASCII кодів?
-
Як коди ASCII пов’язані з символами на клавіатурі?
-
До складу якої бібліотеки входять функції роботи з рядками?
-
Які стандартні функції існують в мові С для зчитування та відображення символьної інформації?
-
Які функції для роботи з рядками ви можете назвати?
-
Яку операцію та яким саме чином виконує кожна з названих функцій?