Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / Лабораторні роботи / Лабораторна робота 11.doc
Скачиваний:
8
Добавлен:
30.05.2020
Размер:
72.7 Кб
Скачать

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. У рядку символів порахувати кількість дужок різного виду.

Структура звіту

  1. Назва роботи.

  2. Тема роботи.

  3. Мета роботи.

  4. Перелік використних компонентів.

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

  6. Скрін-шот працюючого додатку.

  7. Програмний код додатку.

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

Контрольні питання

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

  2. За допомогою якого типу даних описуються символьні змінні?

  3. До якого типу відноситься тип даних char?

  4. Що таке набір ASCII кодів?

  5. Як коди ASCII пов’язані з символами на клавіатурі?

  6. До складу якої бібліотеки входять функції роботи з рядками?

  7. Які стандартні функції існують в мові С для зчитування та відображення символьної інформації?

  8. Які функції для роботи з рядками ви можете назвати?

  9. Яку операцію та яким саме чином виконує кожна з названих функцій?