yangguohong2002 发表于 2017-9-10 00:28:53

編了一個化簡數組的程序,但有小問題求問

本帖最后由 yangguohong2002 于 2017-9-10 00:35 编辑

就是合併一樣的元素,之後便由小到大排序.看圖片,編程如下
Define pl()=
Prgm
:Local q1,k,a,b,x
:Request "原數組是",q1
:SortA q1
:dim(q1)→a
:ΔList(q1)→list1
:countIf(list1,0)→b
:augment(list1,{1})→list2
:ifFn(list2≠0,q1)→list3
:SortA list3
:left(list3,a-b)→list4
:Disp "簡化數組是",list4
:EndPrgm

問題:為什麼按取消有錯誤,怎樣處理?,輸入框可以不使用大括號嗎?

hyfok 发表于 2017-9-10 09:47:12

按取消后你的q1变量就相当于没有定义,后面的SortA q1等等就会报错。
你可以用Try语句,被Try包起来的部分若是出现错误,就会执行Else里的部分。
你的可以这样改:
Define pl()=
Prgm
:Local q1,k,a,b,x
:Try
:Request "原數組是",q1
:SortA q1
:dim(q1)→a
:ΔList(q1)→list1
:countIf(list1,0)→b
:augment(list1,{1})→list2
:ifFn(list2≠0,q1)→list3
:SortA list3
:left(list3,a-b)→list4
:Disp "簡化數組是",list4
:Else
:Stop
:EndTry
:EndPrgm
这样按了取消就会中止程序啦~

yangguohong2002 发表于 2017-9-10 12:39:59

謝謝,還有怎樣令到輸入框可以不用輸入大括號嗎?

hyfok 发表于 2017-9-13 23:11:56

本帖最后由 hyfok 于 2017-9-13 23:15 编辑

yangguohong2002 发表于 2017-9-10 12:39
謝謝,還有怎樣令到輸入框可以不用輸入大括號嗎?
这个我想可能做不到,Request输入框中输入的是一个变量。
硬是不想用括号,可以试试用循环一个一个输入进去,或者设置一个 形式参数。

zqqyyy 发表于 2017-9-17 10:13:50

yangguohong2002 发表于 2017-9-10 12:39
謝謝,還有怎樣令到輸入框可以不用輸入大括號嗎?

可以用requeststr,程序里自己加一个大括号

yangguohong2002 发表于 2017-9-20 02:15:32

好的,我試試看
页: [1]
查看完整版本: 編了一個化簡數組的程序,但有小問題求問