From 05f797ab7280db393840d04d3f80fabefd0fe525 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Sun, 14 May 2017 21:45:36 +1200 Subject: Array-less approach to squ(6df) --- games/squ.awk | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'games') 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) } -- cgit v1.2.3