Ім'я файлу: ЛР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

Висновок


Я отримав навички обробки символьних строкових даних, доступні у бібліотеках і .

скачати

© Усі права захищені
написати до нас