Скачать MetaTrader 5

Как скопировать одномерный массив во второе измерение двумерного массива

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
artsega
297
artsega  

Если вопрос совсем глупый сильно не ругайте. 

Dmitry Fedoseev
45913
Dmitry Fedoseev  

Через цикл. 

Хотя стоит поэкспериментировать с ArrayCopy(), как она будет работать с массивами разной размерности. 

Вот только зачем скриншот делать, когда в вопросе две строчки кода? 

Dmitry Fedoseev
45913
Dmitry Fedoseev  
Не, ArrayCopy() не срабатывает - "incompatible 2 arrays ranges for ArrayCopy function"

artsega
297
artsega  

Дмитрий, спасибо за ответ!

Я ArrayCopy() то же пробовал в начале. Не получилось)

А через цикл как?

Dmitry Fedoseev
45913
Dmitry Fedoseev  

Поэлементно for(...){...} 

Vitaly Muzichenko
5361
Vitaly Muzichenko  

Вот как-то так

double my[]; // этот у вас уже есть готовый
double test[][2]; // это новый, в него копируем

  for(int z=0; z<ArraySize(my); z++) // ArraySize() - узнаем количество элементов в массиве
    {
     ArrayResize(test,z+1); // с каждым проходом увеличим массив на единицу
      test[z][0] = z;  // копируем ещё что-то, или просто номер прохода
      test[z][1] = my[z]; // копируем по очереди как есть
    }   
elibrarius
2117
elibrarius  

Вот так лучше, для скорости

ArrayResize(test,z+1,1000);
artsega
297
artsega  
Спасибо, парни. Получилось! Смысл алгоритма понятен)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий