[Jprogramming] Newbie intro and J programming question
Devon McCormick
devonmcc at gmail.com
Wed Jun 20 03:51:36 HKT 2007
Glenn -
Joey's solution is fine but, for pedagogy, you might want to more deeply
analyze what you're
trying to do and work out what needs to be done.
The key insight is that you are generating four numbers - potentially as a
vector - from each
input item, i.e. each scalar. Given this, I'd re-write "diagonals" this
way:
diagonals=: 3 : 0
t1 =. brds y
t2 =. y */ 0 2 4 6
t1 -"(0 1) t2
)
This also eliminates the "4$" which is covertly connected to the length of
"0 2 4 6".
Good luck,
Devon
On 6/19/07, Joey K Tuttle <jkt at qued.com> wrote:
>
> At 14:43 -0400 2007/06/19, Lewis, Glenn wrote:
> >
> > diagonals 0
> >
> >1 1 1 1
> >
> > diagonals 1
> >
> >9 7 5 3
> >
> > diagonals 2
> >
> >25 21 17 13
> >
> >
> >
> > But if I try to get all diagonals from the first 10 rings of the
> >spiral, I get:
> >
> >
> >
> > diagonals i. 10
> >
> >|length error: diagonals
> >
> >| t2=.0 2 4 6 *y
> >
> >
> >
> > I understand what the problem is (the length mismatch), but don't
> >know how to fix it... I need to take each scalar in y one-at-a-time...
> >and I tried all sorts of combinations of " (double quote) to treat the
> >right hand side like a rank 0 input, but couldn't get it to work.
> >
> >
> >
> > Any ideas?
>
>
> diagonals "0 i. 10
> 1 1 1 1
> 9 7 5 3
> 25 21 17 13
> 49 43 37 31
> 81 73 65 57
> 121 111 101 91
> 169 157 145 133
> 225 211 197 183
> 289 273 257 241
> 361 343 325 307
>
> Seems to work well, that is making diagonals rank 0, you could
> do that when defining it, thus -
>
> diagonals =: 3 : 0 "0
> t1 =. 4 $ brds y
> t2 =. 0 2 4 6 * y
> t1 - t2
> )
> diagonals i. 10
> 1 1 1 1
> 9 7 5 3
> 25 21 17 13
> 49 43 37 31
> 81 73 65 57
> 121 111 101 91
> 169 157 145 133
> 225 211 197 183
> 289 273 257 241
> 361 343 325 307
>
> - joey
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
Devon McCormick, CFA
^me^ at acm.
org is my
preferred e-mail
More information about the Programming
mailing list