// // Лабораторная работа №13. Динамические строки // lab13.h // #pragma once #include using std::string; typedef unsigned int uint; // Создание новой строки с заменой всех вхождений подстроки в строку. // Выделяет динамическую память! // Параметры: // source - исходная строка; // from - строка которую нужно заменить; // to - строка которую необходимо подставить. // Возвращает новую строку в динамической памяти. char *replace(const char *source, const char *from, const char* to); // Создание новой строки с заменой всех вхождений подстроки в строку. // Параметры: // source - исходная строка в которой будет произведена замена; // from - строка которую нужно заменить; // to - строка которую необходимо подставить. // Возвращает новую строку // Если передана пустая строка для поиска, string replace(const string &source, const string &from, const string &to); // Удаление всех вхождений заданного символа из строки. // Входные параметры: // str – начало строки; // с – удаляемый символ. // Результат: // str не содержит вхождений символа c. void remove_chr(string &str, char c); // Вставка заданной подстроки в строку, // после первого вхождения заданного символа. // Входные параметры: // str – начало исходной строки; // new_str – строка для вставки; // after_c – искомый символ. // Результат: // str содержит new_str после первого вхождения after_c. void insert_str(string &source, const string &new_str, char after_c); // Функция вычисления количества слов в строке. // Входные параметры: // str - строка. // Возвращаемое значение: // количество последовательностей не пробельных символов, разделенный пробелами. uint word_count(const string &str); // Заменить в строке каждое четное слово на заданное. // Параметры: // source - исходная строка в которой будет произведена замена; // new_word - строка которую необходимо подставить. // Результат: // в строке source заменены все четные слова. void replace_even_words(string &source, const string &new_word);