自定義函數的返回值問題
作者:文華財經 來源:cxh99.com 發布時間:2021年09月30日
-
咨詢內容:
老師你好,請問自定義函數中的返回值可以返回數組嘛,為什么我這里返回數組Index會報錯說return語句有問題,我的代碼如下
Params? ?NumericArrayRef Arr;
Vars? ?Numeric nSize;
? ?Numeric i;
? ?Numeric j;
? ?Numeric Tmp;
? ?Numeric nSize1;? ?Numeric nSize2;? ?NumericArray index;Begin? ?nSize = GetNumericArraySize(Arr);//獲取數組大小? ?nSize2 = nSize - 2;? ?nSize1 = nSize - 1;? ?for i = 0 to nSize1{? ?index[i] = i;}
? ?for i = 0 to nSize2//for循環語句? ?{
? for j = i +1 to nSize1//for循環語句
? {
If (Arr[i] < Arr[j])
{
Tmp = Arr[i];
Arr[i] = Arr[j];
Arr[j] = Tmp;
Tmp = index[i];
index[i] = index[j];
index[j] = Tmp;
}
? }? ?}
Return index;End
?
?來源:程序化99
-
文華技術人員:
您方法不對,您要排序,最后不用輸出數組的,您調用改自定義函數后就自動排序數組參數了,不需要額外輸出:
Params
? ?NumericArrayRef Arr;
Vars
? ?Numeric nSize;
? ?Numeric i;
? ?Numeric j;
? ?Numeric Tmp;
? ?Numeric nSize1;
? ?Numeric nSize2;
Begin
? ?nSize = GetNumericArraySize(Arr);//獲取數組大小
? ?nSize2 = nSize - 2;
? ?nSize1 = nSize - 1;
? ?for i = 0 to nSize2//for循環語句
? ?{
? for j = i +1 to nSize1//for循環語句
? {
If (Arr[i] < Arr[j])
{
Tmp = Arr[i];
Arr[i] = Arr[j];
Arr[j] = Tmp;
}
? }
? ?}
End?
?
?來源: www.kzuj.com.cn
-
文華客服:
?我想得到排序后的數在原來數組的哪個位置,我后面需要調用
?
-
網友回復:
?您一樓冒泡排序法寫的有錯誤,您直接用NumericArraySort 排序就行了,
然后排序后? ARR[0] 就是最大的或者最小的,然后依次排序。?