Как вывести карту с ключами типа string и значениями являются набор строк - PullRequest
0 голосов
/ 19 апреля 2020

Я пишу метод put (), который должен выводить карту с правильными значениями. Мой метод печати работает, но фактический метод не создает карту правильно. Ключами являются строки и значения map - это набор строк. Мой метод также имеет тип T для работы с другими значениями, но он предназначен для строк.

Я пытаюсь использовать гнездо для каждого l oop, чтобы получить входной набор и использовать его для ключей на карте. Далее для каждого l oop выполняется итерация по множеству и вставка значений в соответствующие ключи, если ключ не равен значению. Вот где возникает моя проблема, но я Я не уверен, как это исправить.

input: set = {"a", "b", "c", "d"}

output: ожидаемые --vs - фактический

Ключ: a Значение: b c d --- Ключ: a Значение: b c d

Ключ: b Значение: a c d - - Ключ: b Значение: ab c d

Ключ: c Значение: abd --- Ключ: c Значение: ab c d

и т. Д. ..

void
  put (const Container& c)
  {
    std::map<T, std::set<T>> map;
    std::set<T> set;
    for(auto i : c)
    {
      for(auto j : c)
      {
        if(i != j)   //this is where I think I am wrong
        {
         set.insert(j);
         map[i] = set;
        }      
      }
    }
     //my printing method is here but I left it out for simpler code
  }

int
  main ()
  {
    set<string> v = {"a", "b", "c", "d"};
    manager.put(v);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...