Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
46
Task/Spiral-matrix/IS-BASIC/spiral-matrix.basic
Normal file
46
Task/Spiral-matrix/IS-BASIC/spiral-matrix.basic
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
100 PROGRAM "SpiralMa.bas"
|
||||
110 TEXT 80
|
||||
120 INPUT PROMPT "Enter size of matrix (max. 10): ":N
|
||||
130 NUMERIC A(1 TO N,1 TO N)
|
||||
140 CALL INIT(A)
|
||||
150 CALL WRITE(A)
|
||||
160 DEF INIT(REF T)
|
||||
170 LET BCOL,BROW,COL,ROW=1:LET TCOL,TROW=N:LET DIR=0
|
||||
180 FOR I=0 TO N^2-1
|
||||
190 LET T(COL,ROW)=I
|
||||
200 SELECT CASE DIR
|
||||
210 CASE 0
|
||||
220 IF ROW<TROW THEN
|
||||
230 LET ROW=ROW+1
|
||||
240 ELSE
|
||||
250 LET DIR=1:LET COL=COL+1:LET BCOL=BCOL+1
|
||||
260 END IF
|
||||
270 CASE 1
|
||||
280 IF COL<TCOL THEN
|
||||
290 LET COL=COL+1
|
||||
300 ELSE
|
||||
310 LET DIR=2:LET ROW=ROW-1:LET TROW=TROW-1
|
||||
320 END IF
|
||||
330 CASE 2
|
||||
340 IF ROW>BROW THEN
|
||||
350 LET ROW=ROW-1
|
||||
360 ELSE
|
||||
370 LET DIR=3:LET COL=COL-1:LET TCOL=TCOL-1
|
||||
380 END IF
|
||||
390 CASE 3
|
||||
400 IF COL>BCOL THEN
|
||||
410 LET COL=COL-1
|
||||
420 ELSE
|
||||
430 LET DIR=0:LET ROW=ROW+1:LET BROW=BROW+1
|
||||
440 END IF
|
||||
450 END SELECT
|
||||
460 NEXT
|
||||
470 END DEF
|
||||
480 DEF WRITE(REF T)
|
||||
490 FOR I=LBOUND(T,1) TO UBOUND(T,1)
|
||||
500 FOR J=LBOUND(T,2) TO UBOUND(T,2)
|
||||
510 PRINT USING " ##":T(I,J);
|
||||
520 NEXT
|
||||
530 PRINT
|
||||
540 NEXT
|
||||
550 END DEF
|
||||
Loading…
Add table
Add a link
Reference in a new issue