[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 370
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
Подскажите, пожалуйста.....
Indic_mas[]//основной массив
Indic_mas_copi[]// массив, в который копируется основной массив.
n //кол-во элементов в Indic_mas_copi[]
1. Означает ли запись Indic_mas_copi[n]=0, то что мы обнулили все элементы массива?
2. После выполнения определённых операций массив Indic_mas_copi[] изменил значения некоторых элементов,
При следующей итерации повторяется копирование Indic_mas[] в Indic_mas_copi[].
Нужно ли перед этим копированием, чтобы Indic_mas_copi[] был обнулён (или пустой)
или элементы Indic_mas[] автоматически заменят прежние элементы Indic_mas_copi[] ?
Добрый день!
Подскажите, пожалуйста.....
Indic_mas[]//основной массив
Indic_mas_copi[]// массив, в который копируется основной массив.
n //кол-во элементов в Indic_mas_copi[]
1. Означает ли запись Indic_mas_copi[n]=0, то что мы обнулили все элементы массива?
2. После выполнения определённых операций массив Indic_mas_copi[] изменил значения некоторых элементов,
При следующей итерации повторяется копирование Indic_mas[] в Indic_mas_copi[].
Нужно ли перед этим копированием, чтобы Indic_mas_copi[] был обнулён (или пустой)
или элементы Indic_mas[] автоматически заменят прежние элементы Indic_mas_copi[] ?
1. Если n - это количество элементов в Indic_mas_copi[], то запись Indic_mas_copi[n] - не корректна, так как в этой записи Вы выходите за рамки массива. Не забывайте, что нумерация ячеек массива начинается с нулевой ячейки. Поэтому номер последней ячейки массива, к которой можно обратиться - это n-1
2. Будут заменеы. Проверьте это скриптом.
1. Если n - это количество элементов в Indic_mas_copi[], то запись Indic_mas_copi[n] - не корректна, так как в этой записи Вы выходите за рамки массива. Не забывайте, что нумерация ячеек массива начинается с нулевой ячейки. Поэтому номер последней ячейки массива, к которой можно обратиться - это n-1
2. Будут заменеы. Проверьте это скриптом.
Спасибо большое, Владимир!
Тогда чтобы обнулить элементы массива нужно следующее?
Спасибо большое, Владимир!
Тогда чтобы обнулить элементы массива нужно следующее?
Нет - это слишком сложно. Есть путь проще.
Спасибо большое, Владимир!
Тогда чтобы обнулить элементы массива нужно следующее?
ArrayInitialize(Имя_Массива,0);
Тогда уж лучше вот так: https://docs.mql4.com/ru/array/ArrayInitialize - там есть конкретный пример кода
Нет - это слишком сложно. Есть путь проще.
Благодарю. Так действительно проще.
Тогда цикл можно использовать при ситуации, когда необходимо обнулить часть элементов?
Или, скажем, через один элемент.
Добрый день!
Подскажите, пожалуйста.....
Indic_mas[]//основной массив
Indic_mas_copi[]// массив, в который копируется основной массив.
n //кол-во элементов в Indic_mas_copi[]
1. Означает ли запись Indic_mas_copi[n]=0, то что мы обнулили все элементы массива?
2. После выполнения определённых операций массив Indic_mas_copi[] изменил значения некоторых элементов,
При следующей итерации повторяется копирование Indic_mas[] в Indic_mas_copi[].
Нужно ли перед этим копированием, чтобы Indic_mas_copi[] был обнулён (или пустой)
или элементы Indic_mas[] автоматически заменят прежние элементы Indic_mas_copi[] ?
Благодарю. Так действительно проще.
Тогда цикл можно использовать при ситуации, когда необходимо обнулить часть элементов?
Или, скажем, через один элемент.
Цикл можно использовать когда нужно обнулить или реинициализировать часть элементов... Цикл же перебирает их все один за другим. Поэтому внутри цикла мы можем ввести правило, по которому нужные ячейки массива будут отсортировываться. Например, нам нужно вычленить только отрицательные числа и удвоить их. Поэтому в цикле мы напишем следующее
если значение в текущей ячейке массива менее нуля, то оно принимает значение этой ячейки массива, умноженное на два. Иначе continue
P.S.
Хотя с позиций работы процессора, если мы заранее знаем, что нужно именно удвоить, то лучше применить сложение, чем умножение - сложение отнимет меньше процессорного времени.