Zig-zag matrix: Difference between revisions

m
m (→‎Turtle style: tidy up)
Line 5,452:
 
=={{header|R}}==
{{trans|JavaOctave}}
<lang Rrsplus>zigzagzigzag1 <- function(sizen) {
j <- seq(n)
{
digitsu <- seq_lenrep(c(size^2) -1, 1), n)
matv <- matrixj * (0,2 nrow* =j size,- ncol=size1) - 1
iv <- as.vector(rbind(v, v + 1))
ja <- 1matrix(0, n, n)
for (elementi in digitsseq(n)) {
if(a[i, >] 1)<- iv[j <-+ i - 1]
{
mat[i,j]v <- elementv + u
{}
if((i + j) %% 2 == 0)
{a
# Even stripes
if(j < size) j <- j + 1 else i <- i + 2
if(i > 1) i <- i - 1
} else
{
# Odd stripes
if(i < size) i <- i + 1 else j <- j + 2
if(j > 1) j <- j - 1
}
}
mat
}
 
zigzag1(5)
zigzag(5)</lang>
 
zigzag2 <- function(n) {
a <- zigzag1(n)
v <- seq(n - 1)^2
for (i in seq(n - 1)) {
a[n - i + 1, seq(i + 1, n)] <- a[n - i + 1, seq(i + 1, n)] - v[seq(n - i)]
}
}a
}
 
zigzagzigzag2(5)</lang>
 
{{out}}
 
<pre> [,1] [,2] [,3] [,4] [,5]
[1,] 0 1 5 6 14
[2,] 2 4 7 13 15
[3,] 3 8 if(j > 1)12 j <- j16 - 1 21
[4,] 9 11 17 20 22
[5,] 10 18 19 23 24</pre>
 
=={{header|Racket}}==
1,336

edits