Добавьте в класс MyString функции ввода и вывода строки.
Дана строка, возможно, содержащая пробелы. Считайте эту строку и переведите все символы этой строки в
нижний регистр. Решение оформите в виде функции void MyString::toLower()
,
получающей в качестве параметра строку по ссылке и изменяющая символы этой строки.
Ввод | Вывод |
---|---|
Hello, world! |
hello, world! |
Даны две строки (возможно, с пробелами). Проверьте, равны ли они. Если строки равны, выведите
слово YES
, если строки не равны, выведите слово NO
.
Решение оформите в виде перегрузки оператора ==
bool operator == (MyString &S1, MyString &S2)
.
Ввод | Вывод |
---|---|
Hi |
NO |
Bye |
YES |
Дана строка, возможно, содержащая пробелы. Извлеките из этой строки все символы, являющиеся цифрами
и составьте из них новую строку.
Решение оформите в виде функции MyString MyString::еxtractDigits()
,
возвращающую новую строку, содержащую только цифры данной строки.
Указание. Заведите строку answer
, пройдите по всем символам данной строки,
при обнаружении цифры добавляйте ее в конец строки answer
, увеличивая ее размер на 1.
По завершении цикла верните значение answer
.
Ввод | Вывод |
---|---|
2+2=4 |
224 |
Дана строка, состоящая из n цифр, между которыми стоит n-1 знак операции, каждый из которых может быть либо +, либо -. Вычислите значение данного выражения.
Решение оформите в виде функции int MyString::evaluate()
.
Ввод | Вывод |
---|---|
1+2-3 |
0 |
Дана строка, содержащее запись в виде символов целого числа от
0 до 109-1. Определите значение этого числа в виде переменной
int. Решение задачи оформите в виде конструктора, принимающего intint
.
Ввод | Вывод |
---|---|
179 |
179 |
Дана строка. Найдите в этой строке самое длинное слово и выведите его.
Если в строке несколько слов одинаковой максимальной длины, выведите первое из них.
Решение оформите в виде функции MyString MyString::longestWord()
.
Ввод | Вывод |
---|---|
In a hole in the ground there lived a hobbit. |
ground |
Дана строка. Измените регистр символов в этой строке так, чтобы первая буква каждого слова была заглавной, а остальные буквы - строчными.
Решение оформите в виде функции void MyString::capitalization()
.
Ввод | Вывод |
---|---|
In a hole in the ground there lived a hobbit. |
In A Hole In The Ground There Lived A Hobbit. |
В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B - на E, символ C - на F, ..., символ Z на C. Аналогично строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение
оформите в виде функции void MyString::caesarCipher()
.
Указание: сделайте функцию char CaesarCipher (char c)
,
шифрующую один данный символ.
Ввод | Вывод |
---|---|
In a hole in the ground there lived a hobbit. |
Lq d kroh lq wkh jurxqg wkhuh olyhg d kreelw. |
Даны две строки, возможно, содержащие пробелы.
Выведите слово YES
, если первая строка является подстрокой
второй строки или слово NO
в противном случае.
Решение оформите в виде функции bool MyString::isSubstring(const string & pattern)
.
Ввод | Вывод |
---|---|
hole in the ground |
YES |
hole on the ground |
NO |
Дана строка, возможно, содержащая пробелы. Определите, является ли эта строка палиндромом,
при условии, что заглавные и строчные буквы не различаются, а все символы, не являющиеся
буквами, должны быть пропущены. Выведите слово YES
,
если слово является палиндромом и словов NO
, если не является.
Решение оформите в виде функции bool MyString::isPalindrome()
.
При решении этой задачи нельзя пользоваться вспомогательными массивами или строками.
Ввод | Вывод |
---|---|
Was it a rat I saw? |
YES |
abca |
NO |
Строка состоит из одного или нескольких слов, разделенных одним или несколькими пробелами. Удалите из строки лишние пробелы: два и более подряд идущих пробелов замените на один и удалите все пробелы в начале и в конце строки.
Сложность алгоритма должна быть пропорциональная длине исходной строки.
После вывода результата на экран выводите обязательно символ конца строки!
Решение оформите в виде функции MyString MyString::delExtraSpaces()
.
В примере ниже для наглядности пробелы изображаются при помощи символа “·”.
Ввод | Вывод |
---|---|
·one··two···three·· |
one·two·three |