Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
58
Task/Top-rank-per-group/EasyLang/top-rank-per-group.easy
Normal file
58
Task/Top-rank-per-group/EasyLang/top-rank-per-group.easy
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
global na$[] id$[] sal[] dep$[] n .
|
||||
#
|
||||
proc read . .
|
||||
s$ = input
|
||||
repeat
|
||||
s$ = input
|
||||
until s$ = ""
|
||||
a$[] = strsplit s$ ","
|
||||
na$[] &= a$[1]
|
||||
id$[] &= a$[2]
|
||||
sal[] &= number a$[3]
|
||||
dep$[] &= a$[4]
|
||||
.
|
||||
n = len na$[]
|
||||
.
|
||||
read
|
||||
#
|
||||
proc sort . .
|
||||
for i = 1 to n - 1
|
||||
for j = i + 1 to n
|
||||
h = strcmp dep$[i] dep$[j]
|
||||
if h > 0 or h = 0 and sal[i] < sal[j]
|
||||
swap na$[i] na$[j]
|
||||
swap id$[i] id$[j]
|
||||
swap sal[i] sal[j]
|
||||
swap dep$[i] dep$[j]
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
sort
|
||||
#
|
||||
for i to n
|
||||
if i > 1 and dep$[i] <> dep$[i - 1]
|
||||
cnt = 0
|
||||
print ""
|
||||
.
|
||||
if cnt < 2
|
||||
print dep$[i] & " " & sal[i] & " " & na$[i]
|
||||
cnt += 1
|
||||
.
|
||||
.
|
||||
#
|
||||
input_data
|
||||
Employee Name,Employee ID,Salary,Department
|
||||
Tyler Bennett,E10297,32000,D101
|
||||
John Rappl,E21437,47000,D050
|
||||
George Woltman,E00127,53500,D101
|
||||
Adam Smith,E63535,18000,D202
|
||||
Claire Buckman,E39876,27800,D202
|
||||
David McClellan,E04242,41500,D101
|
||||
Rich Holcomb,E01234,49500,D202
|
||||
Nathan Adams,E41298,21900,D050
|
||||
Richard Potter,E43128,15900,D101
|
||||
David Motsinger,E27002,19250,D202
|
||||
Tim Sampair,E03033,27000,D101
|
||||
Kim Arlich,E10001,57000,D190
|
||||
Timothy Grove,E16398,29900,D190
|
||||
25
Task/Top-rank-per-group/PascalABC.NET/top-rank-per-group.pas
Normal file
25
Task/Top-rank-per-group/PascalABC.NET/top-rank-per-group.pas
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
begin
|
||||
var data := |('Tyler Bennett', 'E10297', 32000, 'D101'),
|
||||
('John Rappl', 'E21437', 47000, 'D050'),
|
||||
('George Woltman', 'E00127', 53500, 'D101'),
|
||||
('Adam Smith', 'E63535', 18000, 'D202'),
|
||||
('Claire Buckman', 'E39876', 27800, 'D202'),
|
||||
('David McClellan', 'E04242', 41500, 'D101'),
|
||||
('Rich Holcomb', 'E01234', 49500, 'D202'),
|
||||
('Nathan Adams', 'E41298', 21900, 'D050'),
|
||||
('Richard Potter', 'E43128', 15900, 'D101'),
|
||||
('David Motsinger', 'E27002', 19250, 'D202'),
|
||||
('Tim Sampair', 'E03033', 27000, 'D101'),
|
||||
('Kim Arlich', 'E10001', 57000, 'D190'),
|
||||
('Timothy Grove', 'E16398', 29900, 'D190')|;
|
||||
|
||||
var N := 3;
|
||||
foreach var group in data.GroupBy(rec -> rec[3]).OrderBy(gr -> gr.Key) do
|
||||
begin
|
||||
Println('Department',group.Key);
|
||||
Println($' Employee Name Employee ID Salary');
|
||||
foreach var rec in group.OrderByDescending(x -> x[2]).Take(3) do
|
||||
Println($' {rec[0],-18} {rec[1],-14} {rec[2]}');
|
||||
Println;
|
||||
end;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue