我想將原本一個帶有值的陣列中的每個值設為0,
我目前先用一個array預設他全部為0
再用array_copy將所有為0的值丟到我要運用的陣列上,但感覺怪怪的
不知道array_copy是否有因版本問題有所改變,或是能提供歸零相關的函數,謝謝
將數組中的元素設定成指定的值。
Fill_Array(ArrayName,Value)
Fill_Array
ArrayName
參數說明: ArrayName —— 要設定值的數組名稱 Value —— 數值表達式、字符串表達式或布林表達式,要指派給數組元素的值。數值的類型要和數組定義類型一致
Value
將Array1中的每個元素設定為True:
Fill_Array(Array1,True);
Array1
True
參考~
感謝您~
但若是array1 為 [1,2,3,4,5,6,7]
我想讓array1=array2 並且將索引位置3之後的變成0
也就是array2為[1,2,3,0,0,0,0]
是否只能用先建立一個array為[0,0,0,0,0,0,0],並搭配array_copy來做使用?
但是我用array_copy都做不出來, 指令是否有更改過呢? 我的書是MC6的版本
謝謝
上面是說明 Array_Copy 可正常使用
但要達到你需要的功能可以試試
Array_SetValRange(ArrayName,StartIndex,EndIndex,Value)
Array_SetValRange
參數說明: ArrayName —— 要賦值的數組名稱 StartIndex —— 數值表達式,指定數組賦值範圍的開始索引值 EndIndex —— 數值表達式,指定數組賦值範圍的結束索引值 Value —— 數值表達式、字符串表達式或布林表達式,數組元素要設定的值。數值的類型要和數組定義類型一致。
StartIndex
EndIndex
重新賦值Array1索引4至索引6的元素:
Array_SetValRange(Array1,4,6,0);
4
6
0
若數組為{1,2,3,4,5,6,7,8},則賦值後數組為{1,2,3,4,0,0,0,8};
Array_SetValRange(Array1,4,6,True);
若數組為{false, false, false, false, false, false, true, false},則賦值後數組為{false, false, false, false, true, true, true, false}
Array_SetValRange(Array1,4,6,"a");
"a"
若數組為{a,b,c,d,e,f,g,h},則賦值後數組為{a,b,c,d,a,a,a,h}
太感謝你們了!!! 我找到錯誤了~謝謝! 很實用~