| Ім'я файлу: ЛР10.docx Розширення: docxРозмір: 147кб.Дата: 15.12.2020скачати Міністерство освіти та науки України
ДВНЗ «Приазовський державний технічний університет»
Кафедра інформатики
Звіт з лабораторної роботи №10
Виконав
студент групи КН-20
Копійка Олександр
прийняла
Старший викладач
Сергієнко А.В.
Маріуполь, 2020
Лабораторна робота № 10. ОБРОБКА СИМВОЛЬНИХ І СТРОКОВИХ ДАНИХ
Мета роботи: отримати навички обробки символьныхи строкових даних, доступні у бібліотеках і .
Хід роботи
Варіант № 12
Варіант 12 Завдання 1
Надрукувати заданий текст з видаленням з нього усіх букв b, безпосередньо перед якими знаходиться буква с.
Рисунок 1 - Блок-схема #include
#include using namespace std; int main()
{
setlocale(LC_CTYPE, "rus"); char string[255];
char newString[255]; int newStringCurrentIndex = 1; cout << "Введите строкy: " << endl;
cin.getline(string, 255); cout << "Исходная строка: " << string << endl; char currentChar;
char previousChar = string[0]; newString[0] = string[0]; for (int i = 1; i < strlen(string); i++)
{
currentChar = string[i]; if (currentChar == 'b') { if (previousChar != 'c') {
newString[newStringCurrentIndex] = string[i]; // b
newStringCurrentIndex++;
}
}
else {
newString[newStringCurrentIndex] = string[i]; // не b
newStringCurrentIndex++;
} previousChar = currentChar;
} cout << "Новая строка: " << newString << endl; }
Рисунок 2 – Результат виконання програми 1
Завдання 2
У заданому тексті (слова розділені пропусками) поміняти місцями перше і останнє слово.
Рисунок 2 - Блок-схема
#include
#include
#include
#include
using namespace std; int main()
{
setlocale(LC_CTYPE, "rus"); char string[255];
char newString[255];
char lastWord[255];
char firstWord[255];
char mid[255]; cout << "Введите строкy: " << endl;
cin.getline(string, 255); cout << "Исходная строка: " << string << endl; vector spaces; for (int i = 0; i < strlen(string); i++)
{
if (string[i] == ' ')
{
spaces.push_back(i);
}
} int idx = 0;
for (int i = spaces[spaces.size() - 1]; i < strlen(string); i++)
{
lastWord[idx] = string[i];
idx++;
} for (int i = 0; i < spaces[0]; i++)
{
firstWord[i] = string[i];
} idx = 0;
for (int i = spaces[0]; i < spaces[spaces.size() - 1]; i++)
{
mid[idx] = string[i];
idx++;
} cout << firstWord << endl;
cout << mid << endl;
cout << lastWord << endl; strcat(newString, lastWord);
strcat(newString, mid);
strcat(newString, firstWord); cout << newString << endl;
}
Рисунок 4 - Результат виконання програми 2
Висновок Я отримав навички обробки символьних строкових даних, доступні у бібліотеках і . скачати
|