55 lines
927 B
Plaintext
55 lines
927 B
Plaintext
EnableExplicit
|
|
Define.i x=5, I, J
|
|
|
|
Macro Print_Pascal_matrix(typ)
|
|
PrintN(typ)
|
|
For I=1 To x
|
|
For J=1 To x : Print(RSet(Str(p(I,J)),3," ")+Space(3)) : Next
|
|
PrintN("")
|
|
Next
|
|
Print(~"\n\n")
|
|
EndMacro
|
|
|
|
Procedure Pascal_sym(n.i,Array p.i(2))
|
|
Define.i I,J
|
|
p(1,0)=1
|
|
For I=1 To n
|
|
For J=1 To n : p(I,J)=p(I-1,J)+p(I,J-1) : Next
|
|
Next
|
|
EndProcedure
|
|
|
|
Procedure Pascal_upp(n.i,Array p.i(2))
|
|
Define.i I,J
|
|
p(0,0)=1
|
|
For I=1 To n
|
|
For J=1 To n : p(I,J)=p(I-1,J-1)+p(I,J-1) : Next
|
|
Next
|
|
EndProcedure
|
|
|
|
Procedure Pascal_low(n.i,Array p.i(2))
|
|
Define.i I,J
|
|
Pascal_upp(n,p())
|
|
Dim p2.i(n,n)
|
|
CopyArray(p(),p2())
|
|
For I=1 To n
|
|
For J=1 To n : Swap p(J,I),p2(I,J) : Next
|
|
Next
|
|
EndProcedure
|
|
|
|
OpenConsole()
|
|
|
|
Dim p.i(x,x)
|
|
Pascal_upp(x,p())
|
|
Print_Pascal_matrix("Upper:")
|
|
|
|
Dim p.i(x,x)
|
|
Pascal_low(x,p())
|
|
Print_Pascal_matrix("Lower:")
|
|
|
|
Dim p.i(x,x)
|
|
Pascal_sym(x,p())
|
|
Print_Pascal_matrix("Symmetric:")
|
|
|
|
Input()
|
|
End
|