Data update

This commit is contained in:
Ingy döt Net 2024-07-13 15:19:22 -07:00
parent 29a5eea0d4
commit 5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions

View 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

View 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.