DIM tabl(3, 3) AS INTEGERDIM diagonalflag AS INTEGERDIM startrow AS INTEGERDIM startcol AS INTEGERDIM counter AS INTEGERDIM colinc as INTEGERDIM i AS INTEGERDIM j AS INTEGERCONST n = 3startrow = 0startcol = 0counter = 1diagonalflag = 0FOR i = 1 TO 2 * (n + 1) - 1 IF startrow = n THEN diagonalflag = 1 colinc = 0 FOR j = startrow TO startcol STEP -1 tabl(j, startcol + colinc) = counter counter = counter + 1 colinc = colinc + 1 NEXT j IF startrow < n THEN startrow = startrow + 1 ELSE IF diagonalflag = 1 THEN startcol = startcol + 1NEXT i
Jakoś tak to będzie wyglądało. To jest przykład dla tablicy 4x4 ale wystarczy zmienić wartość stalej n oraz rozmiar tablicy i algorytm będzie nadal działał poprawnie.
P.S. Sorki, że w Basicu ale nic innego nie mam pod ręką.