logo CodeStepByStep logo

You are working on problem set: Week 2 Section ( Pause)

friendList

Write a function named friendList that accepts a file name as a parameter and reads friend relationships from a file and stores them into a compound collection that is returned. You should create a map where each key is a person's name from the file, and the value associated with that key is a setof all friends of that person. Friendships are bi-directional: if Marty is friends with Danielle, Danielle is friends with Marty.

The file contains one friend relationship per line, consisting of two names. The names are separated by a single space. You may assume that the file exists and is in a valid proper format. If a file named buddies.txt looks like this:

Marty Cynthia
Danielle Marty

Then the call of friendList("buddies.txt") should return a map with the following contents:

{"Cynthia":{"Marty"}, "Danielle":{"Marty"}, "Marty":{"Cynthia", "Danielle"}}

Constraints:

  • You may open and read the file only once. Do not re-open it or rewind the stream.
  • You should choose an efficient solution. Choose data structures intelligently and use them properly.
  • You may create one collection (stack, queue, set, map, etc.) or nested/compound structure as auxiliary storage. A nested structure, such as a set of vectors, counts as one collection. (You can have as many simple variables as you like, such as ints or strings.)
Function: Write a C++ function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? .

If something seems wrong with our site, please

Is there a problem? Contact us.