ShaoQiang 發表於 16-11-26 17:47

請問有辦法取出陣列內一段區間的最大值嗎


請問有辦法取出陣列內一段區間的最大值嗎?
例如我有個陣列 array:TR1(0)
我想要找出TR1~TR1的最大值,我會用以下的方式
maxlist(TR1,TR1,TR1,TR1,TR1,TR1,TR1,TR1,TR1,TR1);
但有沒有比較簡潔的方式呢? 不然我如果要找TR1~TR的最大值不就要打一堆
感謝

eddie0307 發表於 16-11-26 17:47

本帖最後由 eddie0307 於 16-11-26 23:28 編輯

看看這樣行不行

Value2 = TR1;
for Value1 = 0 to (99-1)
begin
    if TR1 > TR1 then Value2 = TR1 ;
end;

Vaule2跑完for迴圈後即為陣列裡元素的最大值
若要找區間的話如同你講的例子一樣 (想要找出TR1~TR1的最大值)
就改成這樣

Value2 = TR1;
for Value1 = 5 to (14-1)
begin
    if TR1 > TR1 then Value2 = TR1 ;
end;

ShaoQiang 發表於 16-11-27 10:01

eddie0307 發表於 16-11-26 23:16
看看這樣行不行

Value2 = TR1;


大大你好~~這樣子應該是可行的~~請問一下大大那段程式碼要怎麼改成函數呢?

eddie0307 發表於 16-11-27 13:24

改成函數我想覺得沒必要
因為程式只有幾行
再來就是得處理大型矩陣如何丟到函數的問題
這樣可能會影響程式執行效能
寫成函數的CP值不高
麻煩先確定這幾行code是否work
能work再麻煩打賞小弟一下囉
感謝

easytrader788 發表於 16-11-27 14:02

Array_sort(TR1,5,14,true) ; 將第5~14數值作第

easytrader788 發表於 16-11-27 14:04

遞增排序,value1 = TR1 ; 區間最小值,value2= TR1 區間最大值
頁: [1]
查看完整版本: 請問有辦法取出陣列內一段區間的最大值嗎