I appreciate if anyone could help me with this problem
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Raj
2019-4-19
Problem statement is pretty straightforward. What exactly is the issue here? Can you share what you have tried so far on this?
采纳的回答
Raj
2019-4-19
编辑:Raj
2019-4-19
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 个评论
更多回答(1 个)
madhan ravi
2019-4-19
Hint: Use sort().
2 个评论
madhan ravi
2019-4-19
编辑:madhan ravi
2019-4-19
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!