Набор STL _симметричный _разностное использование

. Я решал задачу программирования, которая хочет найти СИММЕТРИЧНУЮ РАЗНИЦУ между двумя множествами. Я решил это с помощью STL set_symmetric_difference. Мне даны два vector<int>s, AиB:

A = {342,654,897,312,76,23,78}

B = {21,43,87,98,23,756,897,234,645,876,123}

Должен вернуться (правильный ответ):

{ 21,43,76,78,87,98,123,234,312,342,645,654,756,876 }

Но я получаю:

{ 21,43,76,78,87,98,123,234,312,342,645,65,756,876}

В чем проблема ? Вот мой код:

sort(A.begin(), A.end());
sort(B.begin(), B.end());
// allocate the smallest size of A,B as maximum size
vector<int> c(A.size() < B.size() ? B.size() : A.size());
vector<int>::iterator i;
i = set_symmetric_difference(A.begin(), A.end(), B.begin(), B.end(), c.begin());
return vector<int>(c.begin(), i);

ПРИМЕЧАНИЕ: Я получаю правильные ответы на остальные примеры. Этот пример дает мне только этот неправильный ответ.

Я протестировал его в Visual Studio и получил сообщение об ошибке :«Итератор не увеличивается»

-. 121 ---849180- Использование без пробелов в шаблоне django У меня есть следующий код :{% for item in profile.jobs.all %} {% if not forloop.first %}, {% endif %}{{ item }} {% endfor %}, который производит что-то вроде после :"Программист...

У меня есть следующий код:

    {% for item in profile.jobs.all %}
        {% if not forloop.first %}, {% endif %}{{ item }}
    {% endfor %}

Что дает что-то вроде следующего:

"Programmer, Plumber, Philosopher"

Мне не нужен начальный пробел перед запятой, но единственный способ избавиться от него — сжать его в одну строку, что снижает читабельность:

{% for item in profile.jobs.all %}{% if not forloop.first %}, {% endif %}{{ item }}{% endfor %}

Есть ли лучший способ справиться с этим?

5
задан David542 7 July 2012 в 08:47
поделиться