Напишите функцию, которая удаляет из переданной ей символьной строки все символы, заключенные в угловые скобки '<' и '>' (вместе с этими скобками). С++.
Начнем с утверждения, что это была блондинка, потому что таких утверждений два. Если II сказал правду, то второе его утверждение ложно и блондинка была в шляпе. Тогда утверждение I о брюнетке - ложь. Это рассуждение иллюстрирует вторая сверху таблица. В то же время, будет ложным утверждение IV об отсутствии очков и получается, что была блондинка в шляпе и в очках. В этом случае ложно утверждение III о том, что это была рыжая. Удостоверяемся, что противоречий в цепочке рассуждений нет. Окончательно: это была блондинка в шляпе и очках. Каждый свидетель дал одно истинное показание и одно ложное.
Прочие проверки можно не делать, считая задачу корректной.
#include <iostream>
#include <string>
int main()
{
int i, j, k, length;
std::string s;
std::cin >> s;
length = s.length();
for (int i = 0; i < length; i++)
{
j = i;
k = 0;
if (s[i] == '<')
{
do k++;
while (s[j++] != '>');
}
if (k != 0)
{
s.erase(i, k);
length -= k;
i--;
}
}
std::cout << s;
return 0;
}