Template:ClassMatrix: Difference between revisions
No edit summary |
No edit summary |
||
| Line 46: | Line 46: | ||
local M = {}; | local M = {}; | ||
local i=1; | local i=1; | ||
for k,v in string.gmatch(xaxis, "%S+") do | for k,v in string.gmatch(xaxis, "(%S+) (%S+)") do | ||
xval[k] = i; i = i + 1; print(k .. "; "); | xval[k] = i; i = i + 1; print(k .. "; "); | ||
end | end | ||
Revision as of 16:50, 18 December 2008
{{#lua:
local input = stdin:match(".+");
local xaxis, yaxis, all = string.match(input, "([^&]+)&&([^&]+)&&(.+)");
local xval = {};
local yval = {};
local M = {};
local i=1;
for k,v in string.gmatch(xaxis, "(%S+) (%S+)") do
xval[k] = i; i = i + 1; print(k .. "; ");
end
local xmax = i;
print("\n");
i = 1;
for k,v in string.gmatch(yaxis, "%S+") do
yval[k] = i; i = i + 1; print(k .. "; ");
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 () | () | ()) |
|---|