In: Computer Science
Pass or Fail (C++)
Given a vector, where each element in the vector is a [name, grade] pair sort range by name, partition range into pass and fail, preserving alphabetical order within partition. The grades are the number of points earned (600 points earns a passing grade).
std::vector<std::pair<std::string, int>> v {
{"josh", 851},
{"mark", 600},
{"charles", 412},
{"sebnem", 1000},
{"abdol", 905},
{"imen", 300}
};
--------EXPECTED
OUTPUT-------------------------------------------------
std::vector<std::pair<std::string, int>> w {
{"abdol", 905},
{"josh", 851},
{"mark", 600},
{"sebnem", 1000}, // Everyone after this point failed
{"charles", 412},
{"imen", 300}
};
Note: NO LOOPS ALLOWED
Thanks!