Template:ClassMatrix: Difference between revisions
No edit summary |
No edit summary |
||
Line 41: | Line 41: | ||
{{#lua: | {{#lua: | ||
local input = stdin:match(".+"); | local input = stdin:match(".+"); | ||
xaxis, yaxis, all = string.match(input, "([^&]+)&&([^&]+)&&(.+)"); | local xaxis, yaxis, all = string.match(input, "([^&]+)&&([^&]+)&&(.+)"); | ||
print ( | local xval = {}, yval = {}, M = {}; | ||
local i=1; | |||
for k,v in string.gmatch(xaxis, "%S+") do | |||
xval[k] = i; i = i + 1; | |||
end | |||
local xmax = i; | |||
i = 1; | |||
for k,v in string.gmatch(yaxis, "%S+") do | |||
yval[k] = i; i = i + 1; | |||
end | |||
local ymax = i; | |||
for id in string.gmatch(all,"%S+") do | |||
x = string.sub(id, {{{2}}}, {{{3}}}); | |||
y = string.sub(id, {{{4}}}, {{{5}}}); | |||
if (M[xval[x]][yval[y]] == nil) | |||
then M[xval[x]][yval[y]] = 1; | |||
else M[xval[x]][yval[y]] = M[xval[x]][yval[y]] + 1; | |||
end | |||
end | |||
for i=1, xmax do | |||
for j=1, ymax do | |||
print(M[i][j]); | |||
end | |||
print("\n"); | |||
end | |||
|{{#var:X-AXIS}}&&{{#var:Y-AXIS}}&&{{#var:ALL}} | |{{#var:X-AXIS}}&&{{#var:Y-AXIS}}&&{{#var:ALL}} | ||
}} | }} |
Revision as of 16:47, 18 December 2008
{{#lua:
local input = stdin:match(".+"); local xaxis, yaxis, all = string.match(input, "([^&]+)&&([^&]+)&&(.+)"); local xval = {}, yval = {}, M = {}; local i=1; for k,v in string.gmatch(xaxis, "%S+") do xval[k] = i; i = i + 1; end local xmax = i; i = 1; for k,v in string.gmatch(yaxis, "%S+") do yval[k] = i; i = i + 1; end local ymax = i; for id in string.gmatch(all,"%S+") do x = string.sub(id, {{{2}}}, {{{3}}}); y = string.sub(id, {{{4}}}, {{{5}}}); if (M[xval[x]][yval[y]] == nil) then M[xval[x]][yval[y]] = 1; else M[xval[x]][yval[y]] = M[xval[x]][yval[y]] + 1; end end for i=1, xmax do for j=1, ymax do print(M[i][j]); end print("\n"); end
|{{#lua:
local H = {}; local T = {}; for id in stdin:gmatch("%w+") do str = string.sub(id,{{{2}}},{{{3}}}); if (H[str] == nil) then H[str] = 1; table.insert(T, str); else H[str] = H[str] + 1; end end table.sort(T); for i=1,table.getn(T) do local k = T[i]; print(k .. " " .. H[k]); end
| }}&&{{#lua:
local H = {}; local T = {}; for id in stdin:gmatch("%w+") do str = string.sub(id,{{{4}}},{{{5}}}); if (H[str] == nil) then H[str] = 1; table.insert(T, str); else H[str] = H[str] + 1; end end table.sort(T); for i=1,table.getn(T) do local k = T[i]; print(k .. " " .. H[k]); end
| }}&& }}
{{#lua:}}! ({{{1}}} () | {{{1}}} () | for (id in stdin:gmatch("%w+") do) | {{{1}}} () | {{{1}}} () | {{{1}}} () | {{{1}}} () | end () | end () | table.sort(T); () | {{{1}}} () | {{{1}}} () | print(k (.. " " .. H[k]);) | end () | () | ()) |
---|