Multiplication tables: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 2,982: | Line 2,982: | ||
11 | 121 132 |
11 | 121 132 |
||
12 | 144</pre> |
12 | 144</pre> |
||
=={{header|M2000 Interpreter}}== |
|||
Using jagged array (arrays of arrays) |
|||
<lang M2000 Interpreter> |
|||
Module CheckIt { |
|||
Dim Base 1, A(12) |
|||
Mult=lambda (n)-> { |
|||
Flush ' empty stack |
|||
For i=1 to n : Data i*n : Next i |
|||
=Array([]) ' copy stack in an array, and return a pointer |
|||
} |
|||
i=Each(A()) |
|||
Print " |"; |
|||
while i { |
|||
Print Format$("{0:0:-4}",i^+1); |
|||
A(i^+1)=Mult(i^+1) |
|||
} |
|||
Print |
|||
Print "--+"+string$("-",4*12) |
|||
For i=1 to 12 { |
|||
Print Format$("{0:0:-2}|",i); |
|||
For j=1 to 12 { |
|||
If len(A(j)())>=i then { |
|||
Print Format$("{0:0:-4}",A(j)(i-1)); |
|||
} Else Print " "; |
|||
} |
|||
Print |
|||
} |
|||
} |
|||
CheckIt |
|||
</lang> |
|||
Final loop can be this, using Each() and r1 as pointer to array. |
|||
<pre> |
|||
For i=1 to 12 { |
|||
j=Each(A()) |
|||
Print Format$("{0:0:-2}|",i); |
|||
While j { |
|||
r1=A(j^+1) |
|||
If len(r1)>=i then { |
|||
Print Format$("{0:0:-4}",Array(r1,i-1)); |
|||
} Else Print " "; |
|||
} |
|||
Print |
|||
} |
|||
{{out}} |
|||
</pre> |
|||
| 1 2 3 4 5 6 7 8 9 10 11 12 |
|||
--+------------------------------------------------ |
|||
1| 1 2 3 4 5 6 7 8 9 10 11 12 |
|||
2| 4 6 8 10 12 14 16 18 20 22 24 |
|||
3| 9 12 15 18 21 24 27 30 33 36 |
|||
4| 16 20 24 28 32 36 40 44 48 |
|||
5| 25 30 35 40 45 50 55 60 |
|||
6| 36 42 48 54 60 66 72 |
|||
7| 49 56 63 70 77 84 |
|||
8| 64 72 80 88 96 |
|||
9| 81 90 99 108 |
|||
10| 100 110 120 |
|||
11| 121 132 |
|||
12| 144 |
|||
</pre> |
|||
=={{header|Maple}}== |
=={{header|Maple}}== |