I appreciate if anyone could help me with this problem
1 view (last 30 days)
Show older comments
Abdelmalek Benaimeur
on 19 Apr 2019
Edited: Abdelmalek Benaimeur
on 19 Apr 2019
I have a list of students , every student has a grade (numeric value)
how can i order the list of those students according to their marks ,
so that the first one in the list is the one who has the highest grade
for example (let's assume that the grades are between 0 and 20)
Alex: 19
Morgan: 12
Erik: 15
Montana:13
Molko:10
Kelsie:16
the list should be lik that
Alex Kelsie Erik Montana Morgan
2 Comments
Raj
on 19 Apr 2019
Problem statement is pretty straightforward. What exactly is the issue here? Can you share what you have tried so far on this?
Accepted Answer
Raj
on 19 Apr 2019
Edited: Raj
on 19 Apr 2019
Name = {'Alex';'Morgan';'Erik';'Montana';'Molko';'Kelsie'};
Marks = [19;12;15;13;10;16];
% Create a table
InputTable = table(Name, Marks)
% Sort rows of the table
SortedTable = sortrows(InputTable, 2)
Temp_List=SortedTable(:,1)
Required_List=flip(Temp_List)
As I said, It's straighforward. Hope this helps!
3 Comments
More Answers (1)
madhan ravi
on 19 Apr 2019
Hint: Use sort().
2 Comments
madhan ravi
on 19 Apr 2019
Edited: madhan ravi
on 19 Apr 2019
Just use a cell array to contain each name and corresponding grades in each row of the cell array . Sort the grades which is in the second column. Assign the second output of sort as the row subscript for the cell array thereby sorting your cell array according to the given homework. If you are still not able to figure out, post the code that you tried to get further help.
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!