Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная №9

.docx
Скачиваний:
36
Добавлен:
14.12.2018
Размер:
111.85 Кб
Скачать

Одеський національний політехнічний університет

Інститут комп’ютерних систем

Кафедра інформаційних систем

Варіант №1

Лабораторна робота №9

По дисципліні “Алгоритмізація і програмування”

Тема:“ Програмування алгоритмів обробки рядків”

Виконав:

Студент гр. АІ-171

Анищенко М.О.

Перевірили:

Шпиньковський О.А.

Одеса 2017

Мета роботи: Набуття практичних навичок у створенні програм обробки рядків.

Завдання:

Дано текст.

а) Підрахувати кількість слів у цьому рядку.

б) Підрахувати кількість букв «а» в останньому слові цього рядка.

в) Замінити всі букви «а» на літери «А»

БСА:

Код програми:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <ctype.h>

#define L 20

int main()

{

char str[L];

printf("Enter string(max 30 symbols): ");

gets(str);

int word_num = 0, last_let_ind;

for(int i = 0; i < L-1; i++)

if(isalpha(str[i]) && (str[i+1] == ' ' || str[i+1] == '\0'))

{

word_num++;

last_let_ind = i;

}

printf("Number of words = %d\n", word_num);

int num_of_a = 0;

for(int i = last_let_ind; str[i] != ' '; i--)

if(str[i] == 'a')

num_of_a++;

printf("Number of 'a' symbols = %d\n", num_of_a);

for(int i = 0; i < L-1; i++)

if(str[i] == 'a')

str[i] = 'A';

puts(str);

return 0;

}

Приклад виконання:

Вхідний рядок: «and justice for all»

Вивід програми:

Enter string(max 30 symbols): and justice for all

Number of words = 4

Number of 'a' symbols = 1

And justice for All

Process returned 0 (0x0) execution time : 10.476 s

Press any key to continue.

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

  1. Як описуються рядкові змінні? Що являє собою вираження строкового типу?

Таке вираження являє собою масив данних, кожний символ строкового рядку займає певну позицію в цьому масиві.

  1. Яка максимальна довжина рядка допустима в С?


Довжина не обмежена, ліміт встановлюється при оглошенні строкого масива в програмі.

  1. Які операції допустимі над строковими даними?


Копіювання, видалення, об'єднання, приєднання, пошук, заміна символів та багато інших дій.

  1. Які стандартні процедури та функції для роботи з рядками ви знаєте?

Puts() – виведення, gets() – зчитування, strcpy – копіювання.

Висновки:

Під час виконання лабораторної роботи була створена програма, що обробляє рядок символів.

Під час виконання ЛР не виникло помилок.