It looks as if some line-wrapping hid the singleton " : " at the end of the preceding line.
Sorry I didn't spot it!
M

On 24/06/2022 18:37, Brian Schott wrote:
Mike,

What I mean is, I never saw a line starting with : in your solve script.
Maybe I missed a script or email somewhere?

On Fri, Jun 24, 2022 at 1:31 PM 'Mike Day' via Programming <
programm...@jsoftware.com> wrote:

Sorry, Brian.  I thought I’d removed the h from solveh- the h was for
Hui,  but not
relevant for the version I prepared for this example.  I had another
“solve” in a larger
script.

As for the dyadic version,  the line below solve =: 3 : 0 , and before the
: line,  shows a
default lhs argument to be used for a monadic application.
Most lines are unaltered.

Cheers,

Mike



Sent from my iPad

On 24 Jun 2022, at 16:43, Brian Schott <schott.br...@gmail.com> wrote:

Mike,

To check the inputs of a grid I found that Hui's verb 'ok' works for me.

Your revision of the verb 'solve' looks problematic to me because it
suggests there is a dyadic version, but I could only find a monadic
version
from your earlier post. Also there is an example in this post using a
verb
'solveh' that is undocumented, I believe.

As you mention, I lean toward the tokens starting at 0, not at 1, too.

I especially like your way of initializing the nouns such as r, c and b
based on the input shape or count.

Also, your link to https://www.sudoku-puzzles-online.com/ was most
helpful.

On Fri, Jun 24, 2022 at 6:34 AM 'Michael Day' via Programming <
programm...@jsoftware.com> wrote:

Sorry for late posting - apparently a problem with my broadband
provider's server.

Yes, it can be worth doing a limited feasibility check on your input.
Every column,
row and small box should have no repeated elements apart from the
"missing"
indicator,  such as 0 or perhaps one of '.-*0' ,  eg,  using my
generalisation of Roger's code:
     */ (2 */ @: > #/.~@: -.&0)"1 R{,fiend   NB. fiend is a numeric 9x9
puzzle

1


It might be of minor interest to note I've got my modification of Roger
Hui's wiki essay

code to solve a 25x25 puzzle which I lifted from an online source,

https://www.sudoku-puzzles-online.com/

Annoyingly,  I haven't dicovered how to download it in a form usable
directly by J.  I
spent far too much time transcribing just one 25x25 puzzle by eye and
hand.
I modified the solve function , posted on 20 June. just a tad to allow
the input of a character
representation.  I'll just reproduce the new and amended lines:

solve =: 3 : 0
'.123456789abcdefghjklmnpqrstuvwxyzA' solve y  NB. x is a default
representation for up to 36x36 just:
if. ' ' = 1{.0{.ry =. , y do.
    chars     =. ''
    chars     =. chars, /:~ ~., ' .*-' (e.~#]) ry     NB. any other
representations of unknown cells?
    chars     =. chars, /:~ ~., '123456789' (+./@:e.~#[) ry
    chars     =. chars, /:~ ~., 'abcdefghijklmnopqrstuvwxyz' (+./@:e.~#[)
ry
    chars     =. chars, /:~ ~., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' (+./@:e.~#[)
ry
    sudokurep =: chars
    y         =. chars i. y
else.
    sudokurep =: x
end.
.....
see1 =: (;~n2$n1{.1)&(<;.1) @ ({&sudokurep) @ (n22&$) @ ,

.....

)


[snip]

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm




--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to