было бы полезно.

ли способ, с помощью которого мы можем сравнить две строки, имеющие значения, разделенные запятыми?

Чтобы было понятно:

string S1 = "a,b,c,d,e"
string S2 = "c,d"
string S3 = "a,b,e"          //where string S3 is got by subtracting S2 from S1 (S1 - S2)

Возможно ли сделать это с какой-то функцией?

 Matt04 мая 2011 г., 16:47
@Matthieu Глядя дальше, я нашел комментарий Джеффа Этвуда, который не говорит, но подразумевает, что его можно / нужно использовать. Моя главная проблема - путаница в сообществе, которая может оттолкнуть нового участника, пытающегося понять. Мой самый первый вопрос был отредактирован, чтобы снять метку, и мне сказали не использовать его. @vidhya извини, что украл твой пост по касательной. Я перестану бить эту лошадь.
 Matt04 мая 2011 г., 16:03
Тег домашней работы, кажется, не рекомендуется. Видетьmeta.stackexchange.com/questions/10811/...
 Matthieu M.04 мая 2011 г., 16:21
задавая такой вопрос, вы должны сообщить нам, что вы предприняли, чтобы мы могли указать на недостатки в вашем рассуждении или алгоритме. Вы не учитесь, если не пытаетесь.
 Grammin04 мая 2011 г., 15:40
Пожалуйста, пометьте домашнее задание тегом домашнего задания, я также не могу сказать, что вы пытаетесь спросить здесь.
 Matthieu M.04 мая 2011 г., 16:20
@Matt: не совсем, произвольная повторная маркировка, основанная на чувстве, не рекомендуется. Вместо этого лучше спросить ОП, так ли это, чтобы ответы могли быть адаптированы.

Ответы на вопрос(2)

что это домашнее задание, поэтому вы не получите от меня никакого кода.

Если я понимаю вопрос, вы говорите о «разности установок», а не о сравнении; то есть поиск элементов одного набора, которых нет в другом. Для этого вам понадобится

Структура данных для представления набора. Вам может быть разрешено использоватьstd::set (или жеmultiset), или вам может понадобиться создать свой собственный.Функция или конструктор для чтения значений из строки в поисках запятых, разделяющих их. Если вам разрешено использовать библиотеки, тоstd::stringstream может быть полезным.Функция для вычисления разницы между двумя наборами (либо путем удаления одного набора из другого, либо создания нового набора с правильными элементами). Опять же, если вы можете использовать библиотеку, посмотрите наstd::set_difference.Функция для преобразования набора в строку (обратная функция в 2) для получения окончательного результата. Как и в 2,std::stringstream было бы полезно.

что вы хотите, вы хотите получить элементы, которых нет в обеих строках.

Вот как бы я это сделал:

Разделите a и b, используя, в качестве разделителя.Сохраните результат в двух наборах (std::set например)Вычислить разницу этих двух наборов (например, используяstd::set_difference)Преобразовать полученный набор в строку, склеив каждый элемент, используя,
 vidhya04 мая 2011 г., 15:49
Можете ли вы дать мне пример кода ...?
 davka04 мая 2011 г., 15:51
+1 за руководство и оставление ему реальной работы
 Etienne de Martel04 мая 2011 г., 15:54
@vidhya Извини, но я не сделаю твою домашнюю работу за тебя. Включите Google-Fu, как и любой программист.

Ваш ответ на вопрос