Добавьте в класс 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 |