diff options
-rw-r--r-- | games/squ.awk | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/games/squ.awk b/games/squ.awk index b66b9b10..abd16934 100644 --- a/games/squ.awk +++ b/games/squ.awk @@ -1,10 +1,7 @@ # Make a reduced Latin square out of each line of input -len = length { +l = length { str = toupper($0) - split("", let, ":") - for (i = 1; i <= len; i++) - let[i - 1] = substr(str, i, 1) - for (j in let) - for (k in let) - printf (k + 1 < len) ? "%s " : "%s\n", let[(k + j) % len] + for (j = 0; j < l; j++) + for (k = 0; k < l; k++) + printf (k < l - 1) ? "%s " : "%s\n", substr(str, (k + j) % l + 1, 1) } |