logo CodeStepByStep logo

friendList

Related Links:
Author: Marty Stepp (on 2016/06/29)

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.)
Type your solution here:


This is a function problem. Write a C++ function as described. Do not write a complete program; just the function(s) above.

You must log in before you can solve this problem.


Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.

© Marty Stepp, all rights reserved.