UPDATE

It works! Thanks so much! Your expertise is truly wonderful

]]>` ``Str3+sub("ABCDEFGHIJKLMNOPQRSTUVWXYZ",L₁(N),1)→Str3`

to

` ``Str3+sub("ABCDEFGHIJKLMNOPQRSTUVWXYZ",round(L₁(N),0),1)→Str3`

"+→Str3

For(N,1,Dim(L₁))

Str3+sub("ABCDEFGHIJKLMNOPQRSTUVWXYZ",L₁(N),1**)**→Str3

end

sub(Str3,2,Length(Str3)-1→Str3

You can fix this by using

` ``sub(Str1,round(N,0),1`

instead of

` ``sub(Str1,N,1`

` ``dim(L‚)->D 1->B L1(B)->N sub(Str1,N,1)->Str3 1->N For(N,1,D-1) L‚(N) -> B sub(Str1,B,1)->Str2 Str2+Str3->Str3 End`

and turned it into

` ``"+→Str3 For(N,1,Dim(L₁)) Str3+sub("ABCDEFGHIJKLMNOPQRSTUVWXYZ",L₁(N),1→Str3 end sub(Str3,2,Length(Str3)-1→Str3`

hmm, this is tough. im gonna quickly run through the last part of your code and make it more optimized and see if that changes anything

]]>just to make sure those L's im seeing is L₁ on [2nd] 1 right? ]]>

so it's the second sub( that you have problems right? ]]>

` ``Sorry mate, i forgot a part of the code: Lbl A ClrHome Output(1,1,"[A] IS THE MESSAGE MATRIX AND [B] IS CODING MATRIX" Pause ClrHome [A]*[B]^(-1) -> [C] "ABCDEFGHIJKLMNOPQRSTUVWXYZ"->Str1 dim([C])->L L(1)->A L(2)->B AB->C 0->dim(L‚ 0->Y For(Y,1,A) 0->X For(X,1,B) [C](Y,X)->L‚(1+dim(L‚)) End End dim(L‚)->D 1->B L1(B)->N sub(Str1,N,1)->Str3 1->N For(N,1,D-1) L‚(N) -> B sub(Str1,B,1)->Str2 Str2+Str3->Str3 End Str3`

So it gets the term from the list which is never more than 26

]]>It is (D-1) because the first {term-> letter} is already found above the loop to start writing out Str3 ]]>

` ``Lbl A ClrHome Output(1,1,"[A] IS THE MESSAGE MATRIX AND [B] IS CODING MATRIX" Pause ClrHome [A]*[B]^(-1) -> [C] "ABCDEFGHIJKLMNOPQRSTUVWXYZ"->Str1 dim([C])->L L(1)->A L(2)->B AB->C 0->dim(L‚ 0->Y For(Y,1,A) 0->X For(X,1,B) [C](Y,X)->L‚(1+dim(L‚)) End End dim(L‚)->D 1->B L1(B)->N sub(Str1,N,1)->Str3 1->N For(N,1,D-1) sub(Str1,N,1)->Str2 Str2+Str3->Str3 End Str3`

try putting disp N just to make sure it has a number ]]>

So, let us say N = 5

` ``"ABCDEFGHIJKLMNOPQRSTUVWXYZ" -> Str1 sub(Str1,N,1) -> Str2 Disp Str2`

This is the basic model I am using

]]>EDIT:

oh, i understand now, let me think for a moment

The bug is that (or alleged bug) it returns an error of

I then try the command on the home screen witht he same exact syntax, but with an actual number instead of a variable and it works

Then I check the value of N to see if it is indeed

Then I check by storing the integer value of N into another variable R, and try the sub( command with R: sub(Str1,R,1) and it works, but not with N

Then I check by clearing all variables then manually storing the desired integer into N, and do the command, and it works, with N

So it must work then, but no. I run my program again, it sucesfully enters the alphabet into Str1, sucesfully gives out the list with the matrix numbers, all positive integers 0<N<26, but sitll

Is this a bug in the calculator? Is there a way to fix this? Thank you very much for reading! :)

]]>