//--- global değişkenler double ExtArrayFirst[]; double ExtArraySecond[]; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- dizi büyüklüklerini ayarla if(ArrayResize(ExtArrayFirst,10)!=10) { Print("ArrayResize() failed for ExtArrayFirst. Error code: ",GetLastError()); return; } if(ArrayResize(ExtArraySecond,10)!=10) { Print("ArrayResize() failed for ExtArraySecond. Error code: ",GetLastError()); return; } //--- dizileri bir döngü içerisinde i ve j indekslerinin değerleri ile doldur int total=ArraySize(ExtArrayFirst); for(int i=0, j=total-1; i<total; i++,j--) { //--- ExtArrayFirst dizisini soldan sağa doldur //--- ExtArraySecond dizisini sağdan sola doldur ExtArrayFirst[i]=i; ExtArraySecond[i]=j; } //--- dizileri karşılaştır ve sonucu günlüğe yazdır ArrayComparePrint(ExtArrayFirst,ExtArraySecond); /* Sonuç: ExtArrayFirst: 0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 ExtArraySecond: 9.00000 8.00000 7.00000 6.00000 5.00000 4.00000 3.00000 2.00000 1.00000 0.00000 Result ArrayCompare(): ExtArrayFirst is smaller than ExtArraySecond (result = -1) */ //--- şimdi dizileri çevirelim //--- dizileri bir döngü içerisinde i ve j indekslerinin değerleri ile doldur for(int i=0, j=total-1; i<total; i++,j--) { //--- ExtArrayFirst dizisini sağdan sola doldur //--- ExtArraySecond dizisini soldan sağa doldur ExtArrayFirst[i]=j; ExtArraySecond[i]=i; } //--- dizileri karşılaştır ve sonucu günlüğe yazdır ArrayComparePrint(ExtArrayFirst,ExtArraySecond); /* Sonuç: ExtArrayFirst: 9.00000 8.00000 7.00000 6.00000 5.00000 4.00000 3.00000 2.00000 1.00000 0.00000 ExtArraySecond: 0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 Result ArrayCompare(): ExtArrayFirst is larger than ExtArraySecond (result = 1) */ //--- şimdi dizileri tek bir yönde dolduralım //--- dizileri bir döngü içerisinde i indeksinin değerleriyle doldur for(int i=0; i<total; i++) { //--- her iki diziyi de soldan sağa doldur ExtArrayFirst[i]=i; ExtArraySecond[i]=i; } //--- dizileri karşılaştır ve sonucu günlüğe yazdır ArrayComparePrint(ExtArrayFirst,ExtArraySecond); /* Sonuç: ExtArrayFirst: 0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 ExtArraySecond: 0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 Result ArrayCompare(): ExtArrayFirst and ExtArraySecond are equal (result = 0) */ } //+------------------------------------------------------------------+ //| Karşılaştır ve sonucu görüntüle | //+------------------------------------------------------------------+ void ArrayComparePrint(const double &array1[], const double &array2[]) { //--- dizilerin başlığını ve içeriğini yazdır Print("ExtArrayFirst:"); ArrayPrint(array1); Print("ExtArraySecond:"); ArrayPrint(array2); //--- dizileri karşılaştır ve karşılaştırma sonucunu yazdır int res=ArrayCompare(array1,array2); string res_str=(res>0 ? "ExtArrayFirst is larger than ExtArraySecond" : res<0 ? "ExtArrayFirst is smaller than ExtArraySecond" : "ExtArrayFirst and ExtArraySecond are equal"); PrintFormat("Result ArrayCompare(): %s (result = %d)\n",res_str,res); } //+------------------------------------------------------------------+ |