int array2[9] ArrayCopy(arrayb, array, 0, 0, n); ArrayCopy(arrayb, array, n, n + 1, ArrayRange(array, 0) - n);
I ma be misunderstanding the documentation, but there does not seem to be any way of tell that it succeeded.
//+------------------------------------------------------------------+ //| CheckArrayBSearch.mq4 | //| Rosh | //| http://www.alpari-idc.ru/ru/experts/articles/ | //+------------------------------------------------------------------+ #property copyright "Rosh" #property link "http://www.alpari-idc.ru/ru/experts/articles/" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- int array[10],arrayb[9]; int n=5,i; for (i=0;i<10;i++) array[i]=i; ArrayCopy(arrayb, array, 0, 0, n); ArrayCopy(arrayb, array, n, n + 1, ArrayRange(array, 0) - n); for (i=0;i<10;i++) { Print("i=",i," array[",i,"]=",array[i]," arrayb[",i,"]=",arrayb[i]); } //---- return(0); } //+------------------------------------------------------------------+
View Experts Log
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: removed
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=9 array[9]=9 arrayb[9]=0
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=8 array[8]=8 arrayb[8]=9
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=7 array[7]=7 arrayb[7]=8
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=6 array[6]=6 arrayb[6]=7
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=5 array[5]=5 arrayb[5]=6
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=4 array[4]=4 arrayb[4]=4
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=3 array[3]=3 arrayb[3]=3
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=2 array[2]=2 arrayb[2]=2
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=1 array[1]=1 arrayb[1]=1
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: i=0 array[0]=0 arrayb[0]=0
2007.01.17 20:57:12 CheckArrayBSearch EURUSD,H4: loaded successfully
Do we have to look at the index returned and see if it matches?
//+------------------------------------------------------------------+ //| CheckArrayBSearch.mq4 | //| Rosh | //| http://www.alpari-idc.ru/ru/experts/articles/ | //+------------------------------------------------------------------+ #property copyright "Rosh" #property link "http://www.alpari-idc.ru/ru/experts/articles/" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- int array[10],arrayb[9]; int n=5,i; for (i=0;i<10;i++) array[i]=i; ArrayCopy(arrayb, array, 0, 0, n); ArrayCopy(arrayb, array, n, n + 1, ArrayRange(array, 0) - n); for (i=0;i<10;i++) { Print("i=",i," array[",i,"]=",array[i]," arrayb[",i,"]=",arrayb[i]); } Print("ArrayBsearch(arrayb,5,0,0,MODE_ASCEND))=",ArrayBsearch(arrayb,5,0,0,MODE_ASCEND)); Print("ArrayBsearch(arrayb,5,WHOLE_ARRAY,0,MODE_ASCEND)=",ArrayBsearch(arrayb,5,WHOLE_ARRAY,0,MODE_ASCEND)); Print("ArrayBsearch(arrayb,5,0,0,MODE_DESCEND))=",ArrayBsearch(arrayb,5,0,0,MODE_DESCEND)); Print("ArrayBsearch(arrayb,5,WHOLE_ARRAY,0,MODE_DESCEND)=",ArrayBsearch(arrayb,5,WHOLE_ARRAY,0,MODE_DESCEND)); //---- return(0); } //+------------------------------------------------------------------+
Experts Log
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: removed
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: ArrayBsearch(arrayb, 5,WHOLE_ARRAY,
0,MODE_DESCEND)=0
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: ArrayBsearch(arrayb, 5,0, 0,MODE_DESCEND))=0
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: ArrayBsearch(arrayb, 5,WHOLE_ARRAY,
0,MODE_ASCEND)=4
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: ArrayBsearch(arrayb, 5,0, 0,MODE_ASCEND))=4
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=9 array[9]=9 arrayb[9]=0
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=8 array[8]=8 arrayb[8]=9
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=7 array[7]=7 arrayb[7]=8
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=6 array[6]=6 arrayb[6]=7
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=5 array[5]=5 arrayb[5]=6
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=4 array[4]=4 arrayb[4]=4
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=3 array[3]=3 arrayb[3]=3
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=2 array[2]=2 arrayb[2]=2
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=1 array[1]=1 arrayb[1]=1
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: i=0 array[0]=0 arrayb[0]=0
2007.01.17 21:49:53 CheckArrayBSearch EURUSD,H4: loaded successfully
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Another question, if I wanted to remove an element from the middle of an array, could I do this?
int array[10];
//Remove the nth element
int n = 5;
ArrayCopy(array, array, n, n + 1, ArrayRange(array, 0) - n);
ArrayResize(array, ArrayRange(array, 0) - 1);
If I can't do it like this, how could it be done?