[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 354

 
N. Staritsky'nin bir makalesi var. Buna dayanarak, "İki Tavşanı Kovalamak" filmi çekildi. Bu harika yazarı okumak istiyorum. Onun metnini bulamıyorum. bulmama yardım et. Yanlış başlıkta sorduysam kusura bakmayın ;)
 

ArrayMaximum'un nasıl çalıştığını söyle?

int ArrayMaximum(çift dizi[], int sayı=BÜTÜN_ARRAY, int başlangıç=0)

Maksimum değere sahip öğeyi arayın. İşlev, dizideki maksimum öğenin konumunu döndürür.
Parameters:array[] - Aranacak sayısal dizi.
count - Aranacak öğe sayısı.
start - Aranacak başlangıç dizini.

Misal:
double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
int maxValueIdx=ArrayMaximum(sayı_dizi);
Print("Maks değer = ", num_array[maxValueIdx]);

yani burada saymayı anlamıyorum... danışmanım örneğin dizinin 2. sayısından arama yapması için nasıl yazılır?

int MinArray[7] = {1,2,3,4,5,6,7}

int ArrayMaximum (MinArray[7], "Burada neler oluyor?", 2); benim için net değil

 
splxgf :

Örneğin, son iki yılda fiyatın verilen seviyeleri kaç kez geçtiği bir görev vardı.

1. Her seviyeyi alabilir ve iki yıllık verileri görüntüleyebilirsiniz. Maliyetler: çubuk sayısını seviye sayısıyla çarpın.

2. Ayrı bir düzey dizisi oluşturabilirsiniz. Ve dizinin gerekli öğelerini kontrol ederek ve artırarak tüm çubuklardan geçmek yeterlidir. Bu durumda, hesaplamalar daha hızlı olacaktır.

Bunun gibi bir örnekle ilgileniyorum:

for ( a =0; a <=100 ;a++){

( b=0; b <=100 ;b++){ için

( c=0;c<=100 ;c++){ için

( d =0;d<=100 ;d++){ için

için ( e =0; e <=100 ;e++){

için (f =0;f<=100 ;f++){

için ( g =0; g <=100000 ;g++){

çene_val1=iAlligator(NULL, 0, a, b, c, d, f, e, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, g);

çene_val2=iAlligator(NULL, 0, a, b, c, d, f, e, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH , g);

çene_val3=iAlligator(NULL, 0, a, b, c, d, f, e, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS , g);

if ( çene_val1>Kapat[g] && çene_val2>Kapat[g] && çene_val3>Kapat[g]) toplam=toplam+(Yüksek[g]-Düşük[g]);

}}}}}}}


Ama o zaman dizi 7 boyutlu mu olmalı?

 
CLAIN :

ArrayMaximum'un nasıl çalıştığını söyle?

int ArrayMaximum(çift dizi[], int sayı=BÜTÜN_ARRAY, int başlangıç=0)

Maksimum değere sahip öğeyi arayın. İşlev, dizideki maksimum öğenin konumunu döndürür.
Parameters:array[] - Aranacak sayısal dizi.
count - Aranacak öğe sayısı.
start - Aranacak başlangıç dizini.

Misal:
double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
int maxValueIdx=ArrayMaximum(sayı_dizi);
Print("Maks değer = ", num_array[maxValueIdx]);

yani burada saymayı anlamıyorum... danışmanım örneğin dizinin 2. sayısından arama yapması için nasıl yazılır?

int MinArray[7] = {1,2,3,4,5,6,7}

int ArrayMaximum (MinArray[7], "Burada neler oluyor?", 2); benim için net değil

Diyelim ki bazı değerler içeren bir DataMass[] diziniz var. İçerdiği değerlerin türü double dır.

Dizinin sıfır öğesinden başlayarak bu dizide bulunan en büyük değeri bulmanız gerekir:

int IndexMaxValue= ArrayMaximum (DataMass, WHOLE_ARRAY , 0); // en büyük değere sahip elemanın indeksini bulun.

double MaxValue=DataMass[IndexMaxValue]; // dizindeki maksimum değeri dizine göre bulun

Maksimum değere sahip eleman için arama dizisi daha kısa yazılabilir:

int IndexMaxValue= ArrayMaximum (DataMass); // Fonksiyonun son iki argümanı varsayılan değerlere sahiptir, bu nedenle fonksiyon çağrılırken atlanabilirler, çünkü tüm diziyi (WHOLE_ARRAY) araştırıyoruz ve sıfır (0) hücresinden başlıyoruz ve bu değerler iletiliyor varsayılan olarak işleve.

Bütün bunlar bir satırda yazılabilir:

double MaxValue=DataMass[ ArrayMaximum (DataMass)]; // dizinindeki maksimum değeri dizine göre bulun.

MaxValue değişkeninde DataMass[] dizisinde istenen maksimum değeri içerecektir


Tüm dizide değil ve sıfır olmayan bir öğeden başlayarak arama yapmanız gerekiyorsa, bu değerler iletilen parametrelerde açıkça belirtilmelidir:

int IndexMaxValue= ArrayMaximum (DataMass, WHOLE_ARRAY, 2); // en büyük değere sahip elemanın indeksini bulun. Arama, ikinci hücreden (2) başlayarak dizi (WHOLE_ARRAY) boyunca gerçekleştirilir.

int IndexMaxValue= ArrayMaximum (DataMass, 10, 3); // en büyük değere sahip elemanın indeksini bulun. Arama, üçüncü hücreden (3) başlayarak dizinin (10) on elemanı üzerinde gerçekleştirilir.


umarım net anlatabilmişimdir :)

 
artmedia70 :
Diyelim ki bazı değerler içeren bir DataMass[] diziniz var. İçerdiği değerlerin türü double dır.

Dizinin sıfır öğesinden başlayarak bu dizide bulunan en büyük değeri bulmanız gerekir:

int IndexMaxValue= ArrayMaximum (DataMass, WHOLE_ARRAY, 0); // en büyük değere sahip elemanın indeksini bulun.

double MaxValue=DataMass[IndexMaxValue]; // dizindeki maksimum değeri dizine göre bulun

Maksimum değere sahip eleman için arama dizisi daha kısa yazılabilir:

int IndexMaxValue= ArrayMaximum (DataMass); // Fonksiyonun son iki argümanı varsayılan değerlere sahiptir, bu nedenle fonksiyon çağrılırken atlanabilirler, çünkü tüm diziyi (WHOLE_ARRAY) araştırıyoruz ve sıfır (0) hücresinden başlıyoruz ve bu değerler iletiliyor varsayılan olarak işleve.

Şimdi tüm bunlar tek bir satırda yazılabilir:

double MaxValue=DataMass[ ArrayMaximum (DataMass)]; // dizindeki maksimum değeri dizine göre bulun

Tüm dizide değil ve sıfır olmayan bir öğeden başlayarak arama yapmanız gerekiyorsa, bu değerler iletilen parametrelerde açıkça belirtilmelidir:

int IndexMaxValue= ArrayMaximum (DataMass, WHOLE_ARRAY, 2); // en büyük değere sahip elemanın indeksini bulun. Arama, ikinci hücreden başlayarak dizi (WHOLE_ARRAY) boyunca gerçekleştirilir.

int IndexMaxValue= ArrayMaximum (DataMass, 10, 3); // en büyük değere sahip elemanın indeksini bulun. Arama, üçüncü hücreden başlayarak dizinin (10) on elemanı üzerinde gerçekleştirilir.

umarım net anlatabilmişimdir :)



=) teşekkürler, ama hala bir soru var .... ya benim 2 aynı maksimum değere sahipsem, o hangisini seçecek? soldaki mi
 
CLAIN :

=) teşekkürler, ama hala bir soru var .... ya benim 2 aynı maksimum değere sahipsem, o hangisini seçecek? soldaki mi

Ve kontrol et :)

Dizide ve dizininde bulunan maksimum değeri gösterecek kısa bir komut dosyası yazın. Diziyi, ikisi aynı ve diğerlerinden daha büyük olacak değerlerle açıkça başlatın.

Dizine göre ve sizin için en büyük iki değerden hangisini görüntülediğini belirleyin.

 

Başlamaya en yakın aramanın dizinini görüntüler:

 //+------------------------------------------------------------------+
//|                                                         Test.mq4 |
//|                             Copyright © 2011, Trishkin Artyom A. |
//|                                           support@goldsuccess.ru |
//|                                           Skype: artmedia70      |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Trishkin Artyom A."
#property link       "support@goldsuccess.ru"
//                   Skype: artmedia70
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
double DataMass[ 15 ]={ 4 , 1 , 6 , 3 , 19 , 4 , 1 , 6 , 3 , 19 , 4 , 1 , 6 , 3 , 9 }; // индекс первого = 4, индекс второго = 9

int start()
  {
//----
   int IndexMaxValue= ArrayMaximum (DataMass); 
   double MaxValue=DataMass[IndexMaxValue]; // находим максимальное значение в массиве по его индексу
   Alert ( "Индекс максимального элемента массива = " +IndexMaxValue+ ", его значение = " +MaxValue);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

Hangi dizini görüntülediğini tahmin edin :)

 
drknn :
N. Staritsky'nin bir makalesi var. Buna dayanarak, "İki Tavşanı Kovalamak" filmi çekildi. Bu harika yazarı okumak istiyorum. Onun metnini bulamıyorum. bulmama yardım et. Yanlış başlıkta sorduysam kusura bakmayın ;)
Vladimir, bu bir oyun. İşte metin .
 

Günaydın! İki soru var (hiçbir yerde sindirilebilir bir cevap bulamadığım bir şey):

1. Gösterge, alt pencerede iki sıra dikey eğilim çizgisi çizer. Bu satırlara karşılık gelen çubuk numaralarını nasıl alabilirim?

2. Aynı göstergede, yaklaşık 24 saat ileride geleceğe çizgiler çizmek gerekiyor. Ama bunu yapmanın daha iyi bir yolunu düşünemiyorum.

Umarım forum üyeleri yardımcı olabilir!

 
Siparişleri silme işlevini eklemeye yardım edin lütfen!