Template:ClassMatrix: Difference between revisions

No edit summary
No edit summary
Line 47: Line 47:
   local i=1;
   local i=1;
   for k,v in string.gmatch(xaxis, "%S+") do
   for k,v in string.gmatch(xaxis, "%S+") do
     xval[k] = i; i = i + 1;
     xval[k] = i; i = i + 1; print(k .. "; ");
   end
   end
   local xmax = i;
   local xmax = i;
  print("\n");
   i = 1;
   i = 1;
   for k,v in string.gmatch(yaxis, "%S+") do
   for k,v in string.gmatch(yaxis, "%S+") do
     yval[k] = i; i = i + 1;
     yval[k] = i; i = i + 1; print(k .. "; ");
   end
   end
   local ymax = i;
   local ymax = i;

Revision as of 07:49, 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+") 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 () () ())