как долго будет считать такой цикл Erray [1051200][3]

 
Уже сорок минут прошло и я не знаю толи ещё считает или что-то не то...
     
      n=1051200;
      double Erray [1051200][3];                  // Массив на n
      x=1;
      for(int i=0;i<=n;i++)
       { 
         Erray[i,0]=i;
         Erray[i,1]=Volume[1+i]-Volume[2+i];
       }
      //----------------------проба отсортировки----------------------------
      for(i=0;i<=n;i++)
       {
        int m=0;
        for(int k=0;k<=n;k++)
         {
           if(Erray[i,1]==Erray[k,1]){ m++; }
         }
        Erray[i,2]=m;
       }       
      //--------------------------------------------------------------5-----  
 
А что такое Erray? Очень интересно.
 
Vitya >>:
Уже сорок минут прошло и я не знаю толи ещё считает или что-то не то...


У Вас выход за пределы массива Erray[][]. И к тому же: Вы уверены, что такое количество баров есть в истории (Volume[]) ?

Удачи.
 
VladislavVG >>:


У Вас выход за пределы массива Erray[][].
Угу, точно.

  n=1051200;
      double Erray [1051200][3];                  // Массив на n
      x=1;
      for(int i=0;i<=n;i++)  // правильно   for(int i=0;i<n;i++)
   
 
extern int n=1051200; //за 2 года
 int x=0;
//+------------------------------------------------------------------+
int start()
{
  if(x==0)
   {
      int Handle,                         // Файловый описатель
          Qnt_Symb;                       // Количество записанных симв.
      string File_Name="Kvant_detector.csv";        // Имя файла
      double Erray [1051200][3];                  // Массив на n
      x=1;
      for(int i=0;i<n;i++)
       { 
         Erray[i,0]=i;
         Erray[i,1]=Volume[1+i]-Volume[2+i];
         Print("i =",i);
       }
      //----------------------проба отсортировки----------------------------
      for(int v=0;v<=n;v++)
       {
        int m=0;
        Print("v =",v);
        for(int k=0;k<n;k++)
         {
           if(Erray[v,1]==Erray[k,1]){ m++; }
           Print("k =",k);
         }
        Erray[v,2]=m;
       }       
      //--------------------------------------------------------------5-----  
      Handle=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");//Открытие файла
      if(Handle==-1)                      // Неудача при открытии файла
        {
          Alert("Ошибка при открытии файла.Возможно, файл занят другим приложением");// Сообщение об ошибке 
          return;                          // Выход из start()      
        }
      //--------------------------------------------------------------- 6 --
      for(int j=0; j<n; j++)             // Цикл по всему массиву
        {
          Qnt_Symb=FileWrite(Handle,Erray[j,0],Erray[j,1],Erray[j,2]);//Запись в файл
          if(Qnt_Symb < 0)                 // Если не получилось
            {
              Alert("Ошибка записи в файл ",GetLastError());// Сообщение
              FileClose( Handle );          // Закрываем файл
              return;                       // Выход из start()      
            }
        }
      //--------------------------------------------------------------- 7 --
      FileClose( Handle );                // Закрываем файл
      Alert("Файл ",File_Name," создан.");// Сообщение
   }     
return;        
}
//--------------------------------------------------------------------------------------------------------------------------------------
Хотелось собрать статистику повторения условия Volume[1]-Volume[2] на минутках за 2 года. Далее отсортировать по колличеству повторений ну и дальше попробовать произвести квантовый анализ произвольной ТС по этому условию. Отсеять те условия на которых ТС сливает, оставить те где наливает...
Я только начал изучать это направление, может ничего и не получится у меня, но попробовать хочется, благо пример положительного результата уже есть.
Спасибо!
 
поставил коменты для наглядности, что процесс идёт.
Походу долго его будет колбасить ))
 
Vitya >>:
...Походу долго его будет колбасить ))

Когда-то на СМ-2 один начинающий программист написал учебный пример - пузырьковую сортировку массива из нескольких тысяч строк. Машинка молотила двое суток.

Так что точка отсчета у нас есть :))

 
б... на С место закончилось... ))) 7гигов логов
на D 37 есть, надеюсь хватит)))
 
      //----------------------проба отсортировки----------------------------
      int s=1105021440000;
      for(int v=0;v<n;v++)
       {
        int m=0;
        for(int k=0;k<n;k++)
         {
           if(Erray[v,1]==Erray[k,1]){ m++; }
           s--;
           Print("s =",s);//1 105 021 440 000
         }
        Erray[v,2]=m;
       }       
      //--------------------------------------------------------------5-----  
вот такая матрица поидее
 
А как многомерные массивы в памяти хранятся, если размерности массива поменять местами скорость случаем не улучшится?
 
попробую, так как за ночь не посчитал
Причина обращения: