Задано строку s. Произведите над ней следующий набор операций.
Вход. Строка s,
содержащая более 10 символов. Индексация в строке начинается с 1.
Выход. В отдельных строках выведите ответы на
следующие запросы:
·
Слово,
образующие второй, четвертый и десятый символ строки s.
·
Слово,
образующие первый, второй и последний символ строки s.
·
Слово,
образуют пять последних символов строки s.
·
Строка s без четырех последних символов.
·
Слово,
образованное всеми символами с четными индексами.
·
Длину
слова из предыдущего пункта.
·
Все
символы строки s через
один в обратном порядке, начиная с последнего.
Пример входа |
Пример выхода |
abrakadabra |
bar aba dabra abrakad arkdba 6 abdkra |
строки
Если к входной строке в начале приписать пробел, то
первый символ строки будет находиться в первой ячейке s[1]. Таким образом индексация не будет нарушена.
Последний символ в строке находится в индексе s.length() – 1 и он
равен s[s.length() – 1].
1. Второй, четвертый и десятый символ
строки s: s[2] + s[4] + s[10].
2. Первый, второй и последний символ строки s: s[1] + s[2] + s[s.length() – 1].
3.
Пять
последних символов строки s: s.substr(s.length() – 5).
4.
Строка s без четырех последних символов:
следует вырезать подстроку от символа 1 длиной s.length() – 5: s.substr(1, s.length() – 5).
5. Слово, образованное всеми символами с четными
индексами: создадим новую строку, занесем в нее символы, стоящие на четных
индексах (2, 4, 6, …).
6. Длина слова из предыдущего пункта: воспользуйтесь
методом length().
7. Все символы строки s через один в обратном порядке, начиная с последнего: создадим новую строку, занесем в нее символы,
стоящие на соответствующих индексах (s.length() – 1, s.length() – 3, …).
Реализация алгоритма
Читаем входную
строку. Припишем к ней в начале пробел, чтобы индексация начиналась с 1.
cin >> s; s = " " + s;
Генерируем ответы на запросы и выводим их.
s1 = "";
s1 = s1 + s[2] + s[4] + s[10];
cout << s1 << endl;
s2 = "";
s2 = s2 + s[1] + s[2] + s[s.length() - 1];
cout << s2 << endl;
s3 = s.substr(s.length() - 5);
cout << s3 << endl;
s4 = s.substr(1, s.length() - 5);
cout << s4 << endl;
s5 = "";
for (i = 1; i < s.length(); i++)
if (i % 2 == 1) s5 = s5 + s[i];
cout << s5 << endl;
cout << s5.length() << endl;
s6 = "";
for (i = s.length() - 1; i > 0; i -= 2)
s6 = s6 + s[i];
cout << s6 << endl;