Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Jsec42

Pages: 1 [2]
16
Axe / Troublesome Sudoku Solver
« on: September 15, 2014, 06:11:42 pm »
I couldn't find anything good along these lines on ticalc.org, so I have been attempting to make it myself. It is a sudoku solver, in case you didn't already know. [-.-]~ However, for whatever reason it is getting into an infinite recursion :banghead: , though I am not entirely sure why. <_<
Code: [Select]
.SDKUSVZ
#Realloc(L1)
0->X
0->Y
0->A
0->B
[0042241818244200]->Pic2
[0000000000000000007E6E4E6E467E0000423C724E3E000000427C427C7C4200005A5A407A7A7A0000003E027C7C020000403E3E023C420000007872664E1E0000423C423C3C420000403C3C407C7C00]->Pic1
Buff(81)->G
Goto MAIN
prgmSTACKLIB
Lbl DISP
ClrDraw^^r^^r
For(A,0,9
Line(0,7*A,63,7*A)
Line(7*A,0,7*A,63)
End
For(A,0,8
For(B,0,8
If {9*B+G+A}
Pt-On(7*A,7*B,{9*B+G+A}*8+Pic1)^^r
End
End
End
Pt-On(7*X,7*Y,Pic2)
DispGraph^^r
Return
Lbl MAIN
Repeat getKey(9)
DISP()
If getKey(4)?Y!=0
Y-1->Y
End
If getKey(1)?Y!=8
Y+1->Y
End
If getKey(2)?X!=0
X-1->X
End
If getKey(3)?X!=8
X+1->X
End
If getKey(33)
0->{9*Y+X+G}
End
If getKey(34)
1->{9*Y+X+G}
End
If getKey(35)
4->{9*Y+X+G}
End
If getKey(36)
7->{9*Y+X+G}
End
If getKey(26)
2->{9*Y+X+G}
End
If getKey(27)
5->{9*Y+X+G}
End
If getKey(28)
8->{9*Y+X+G}
End
If getKey(18)
3->{9*Y+X+G}
End
If getKey(19)
6->{9*Y+X+G}
End
If getKey(20)
9->{9*Y+X+G}
End
If getKey(15)
For(N,0,80)
0->{G+N}
End
End
If getKey(55)
Return^^r
End
End
0->L
0->M
sub(BACKTRACK)
Disp "Solve complete!",[i]
Disp T>Dec
Goto MAIN
Lbl ISFULL
For(X,0,8
For(Y,0,8
If {9*Y+X+G}=0
0->T
Return
End
End
End
1->T
Return
Lbl GETNEXT
While {9*M+L+G}!=0?M!=9
L++
If L=9
0->L
M++
End
End
Return
Lbl COLLISION
If L<3
0->A
ElseIf L<6
3->A
Else
6->A
End
If M<3
0->B
ElseIf M<6
3->B
Else
6->B
End
For(X,0,8)
If {9*M+X+G}!=0
If X!=L
If {9*M+X+G}={9*M+L+G}
1->T
Return
End
End
End
If {9*X+L+G}!=0
If X!=M
If {9*X+L+G}={9*M+L+G}
1->T
Return
End
End
End
End
A+2->C
B+2->D
For(X,A,C)
For(Y,B,D)
If {9*Y+X+G}!=0
If L!=X??M!=Y
If {9*Y+X+G}={9*M+L+G}
1->T
Return
End
End
End
End
End
0->T
Return
Lbl BACKTRACK
If {9*M+L+G}!=0
sub(GETNEXT)
End
1->N
While N!=10
N->{9*M+L+G}
sub(COLLISION)
If T=0
sub(ISFULL)
If T=1
Return
End
L++
If L=9
M++
0->L
End
sub(PUSH,L1,L)
sub(PUSH,L1,M)
sub(PUSH,L1,N)
sub(BACKTRACK)
sub(POP,L1,N)
sub(POP,L1,M)
sub(POP,L1,L)
If T=1
Return
End
L--
If L=65535
8->L
M--
End
If L=0
8->L
M--
Else
L--
End
End
N++
End
0->{9*M+L+G}
0->T
Return
It also uses a stack library of my own creation to keep from overflowing the tiny 300 byte stack on the ti-83. ;)
Code: [Select]
..STACKLIB
Lbl PUSH
{[r1]}^^r+1->{[r1]}^^r
{[r2]}^^r->{{[r1]}^^r+1+[r1]}
Return
Lbl POP
If {[r1]}^^r>=>=0
{{[r1]}^^r+1+[r1]}->{[r2]}^^r
{[r1]}^^r-1->{[r1]}^^r
Else
0->{[r2]}
End
Return
It is rather minimal, but I don't think the stacklib is the problem. Any assistance?

17
Axe / Axe String to Ti-Float Parser issues
« on: February 07, 2014, 08:49:41 am »
Alright, I've decided to work on a String to Float parser in axe ;D. It is incomplete as of yet, but I need to get critical parts of the program finished as of yet. My current source code is as follows.
Code: [Select]
.NP
GetCalc("Str1")->A
{A-2}^^r^^r->E
0->{A+E}
[r2]->B
Disp A,[i]
0->C
0->D
If {A}=176
A+1->A
|E80->C
End
While {A}='0'
A+1->A
If length(A)=0
Goto EXIT
End
End
If {A}=58
A+1->A
~1->D
While {A}='0'
A+1->A
D-1->D
If length(A)=0
Goto EXIT
End
End
Else
inData(A,58)->D
If D=0
length(A)-2->D
Else
D-2->D
End:End
Disp D>Dec,[i]
|E80+D+C^^r^^r->C
Disp C>Hex
Lbl EXIT
As you can see, it doesn't(yet ) make any attempt to parse the numeric data in the string ;). It parses negative numbers perfectly :P, and it has no problem getting the 10^x value from integers.The problems start when you feed it a floating point number :mad:. With a number with an integer part before the ".", it parses the thing as an integer, and returns the wrong value for the 10^x, as if it was not anticipating the decimal point, or not parsing it otherwise. What scares me, though, is when a number is parsed WITHOUT the integer part, it returns nothing at all :o. Can I please see some assistance here, if possible? ??? I will post the source code and ti-basic lib version here when completed.

Edit-found the problem with the 0 decimal parsing - Misplaced end! :evillaugh: Still doesn't parse the floating point (ex. 12.345) correctly, though

18
The Axe Parser Project / Re: Equation Parser in AXE
« on: January 21, 2014, 07:09:17 pm »
Update! - Successful string to double parser completed. AXE version soon to come! ;D

19
The Axe Parser Project / Re: Equation Parser in AXE
« on: January 20, 2014, 10:14:44 pm »
I didn't see that? XD Man I didn't look very hard! :rolleyes: Anyway, Thanks in advance! :)

Edit - As soon as its complete, let me know. I'm bad at making parsers. :banghead:

20
The Axe Parser Project / Equation Parser in AXE
« on: January 20, 2014, 06:40:56 pm »
Hi there, newbie here,
I was thinking of creating a 3d graphing suite for the ti-83+ series. ;D I seem to have figured out most of what is going to be needed, but I can't seem to find a string to expression parser for axe. I figured that the expr() command could be used, but it doesn't exist in the command list. <_< Can I please be steered in the right direction?
Thanks! :)

Pages: 1 [2]