Starting from:

$30

A6 Solution

Hackerrank Link: https://www.hackerrank.com/cs2810-ooaia-a6




Objective



Learning the basics of Functors (Function objects) and its applications.




Problem Statement



Create a class in C++ for representing the students. The class should have following attributes.




Name of the student (may contain duplicates) Roll number (Unique integer)




Scores they get in three subjects(Physics, Chemistry, Maths) some other supportive attributes of your choice




There are 3 type of operations to perform using only Functors.




Find student details, given the roll number



Find all the students given the name. Return the students sorted by the roll number.



Find the average score of all the students. Return the students sorted rst by the decreasing average score then by the roll number.



Input Format



First line contains the number of students n.




Following n lines will have the details of each student in the given form




hnameihspaceihrollno:ihspaceihP hysicsmarksihspaceihChemistrymarksihspaceihM athsmarksi




After which a single operation number is given along with input required for particular operation.







1












Output Format



For operation 1: print the details of the student with given roll number, same as in input format. In case of roll number not present in input print "Invalid Entry"




For operation 2: print the details of the students in separate lines with the given name in separate lines, sorted according to their roll numbers. In case of name not present in input print "Invalid Entry"




For operation 3: print the details of the students along with the average marks in separate lines, sorted in decreasing order of average marks then by the roll number. (print average marks to four decimal place).




Constraints



Number of students(n): 1 n 100




Subject marks(m): 0 m 100




Roll number (r): 1 r 100







Sample Testcase



Input 1:




5




Akshay 14 78 85 67




Sahil 32 89 76 90




Suzain 36 56 71 65




Priya 29 89 80 99




Sonu 39 84 75 95




38 Output 1: Invalid Entry



Input 2:




8 Akshay 14 78 85 67




Sahil 32 89 76 90




Priya 29 89 80 99




Sonu 39 84 75 95




Akshay 15 65 80 74




Manav 23 59 83 70




Akshay 13 78 67 85




Shubham 34 92 85 95




Akshay



Output 2:







2















Akshay 13 78 67 85




Akshay 14 78 85 67




Akshay 15 65 80 74




Input 3:




10




Akshay 14 78 85 67




Sahil 32 89 76 90




Suzain 36 56 71 65




Priya 29 89 80 99




Sonu 39 84 75 95




Akshay 15 65 80 74




Manav 23 59 83 70




Akshay 13 78 67 85




Sahil 31 67 76 86




Shubham 34 92 85 95




3




Output 3:




Shubham 34 92 85 95 90.6667




Priya 29 89 80 99 89.3333




Sahil 32 89 76 90 85.0000




Sonu 39 84 75 95 84.6667




Akshay 13 78 67 85 76.6667




Akshay 14 78 85 67 76.6667




Sahil 31 67 76 86 76.3333




Akshay 15 65 80 74 73.0000




Manav 23 59 83 70 70.6667




Suzain 36 56 71 65 64.0000







Design submission format



For the design submission on Moodle, please submit tar.gz le named as your roll number.














































3

More products