Tango_X:
Здравствуйте! не пойму что не так!
for(j=0; j<=100; j++)
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]); // ТУТ ИНФОРМАЦИЮ ВЫВОДИТ
Внимание дальше.....
Тот же самый код, только в другом цикле
while(TSBuffer[j]==0)
{
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]); // ТУТ КОМП ВИСНЕТ!!!
j++;
}
TSBuffer[j] - ЭТО БУФЕР ИНДИКАТОРА
Что здесь не так?
while (TSBuffer[j]==0)
{
if (TSBuffer[j]!=0) Print("равен ",j," ",TSBuffer[j]);
j++;
if(j==100)break;
}
Tango_X:
Здравствуйте! не пойму что не так!
for(j=0; j<=100; j++)
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]); // ТУТ ИНФОРМАЦИЮ ВЫВОДИТ
Внимание дальше.....
Тот же самый код, только в другом цикле
while(TSBuffer[j]==0)
{
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]); // ТУТ КОМП ВИСНЕТ!!!
j++;
}
TSBuffer[j] - ЭТО БУФЕР ИНДИКАТОРА
Что здесь не так?
За границы буфера выходите, терминал должен писать об ошибке времени исполнения, что-то типа array out of range.
И оформляйте код, есть такая кнопочка SRC. Вот так..
while (TSBuffer[j]==0)
{
if (TSBuffer[j]!=0) Print("равен ",j," ",TSBuffer[j]);
j++;
} ТУТ КОМП ВИСНЕТ!!!
**
while (TSBuffer[j]==0)
{
if (TSBuffer[j]!=0) Print("равен ",j," ",TSBuffer[j]);
j++;
if(j==100)break;
}
100 - это число чтобы просто показать как работает...а мне нужен цикл до тех пора пока переменная не станет равна нулю т.е вот так
while (TSBuffer[j]==0)
100 - это число чтобы просто показать как работает...а мне нужен цикл до тех пора пока переменная не станет равна нулю
Прекрасно!
Сколько у Вас значений в массиве?
Установите границу
До бесконечности j++ не надо наращивать.
У Вас не виснет, а зацикливается
За границы буфера выходите, терминал должен писать об ошибке времени исполнения, что-то типа array out of range.
И оформляйте код, есть такая кнопочка SRC. Вот так..
while (TSBuffer[j]==0)
{
if (TSBuffer[j]!=0) Print("равен ",j," ",TSBuffer[j]);
j++;
} ТУТ КОМП ВИСНЕТ!!!
**
Ну так размер буфера определите и не выходите за границу.
см. ArraySize
Возвращает количество элементов указанного массива.
к примеру мы знаем что элемент который я ищу он под номер 100 а кол-во элементов в массиве - 500 - как я могу выйти за границы? Вот в чем вопрос....
цикл for - это подтверждает..
к примеру мы знаем что элемент который я ищу он под номер 100 а кол-во элементов в массиве - 500 - как я могу выйти за границы? Вот в чем вопрос....
цикл for - это подтверждает..
Значит не 100
Вроде так:
//--- цикл будет выполнятся пока TSBuffer[j]!=0 или j<ArraySize(TSBuffer)-1
while(TSBuffer[j]==0 || j<ArraySize(TSBuffer)-1)
{
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]);
j++;
}

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте! не пойму что не так!
for(j=0; j<=100; j++)
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]); // ТУТ ИНФОРМАЦИЮ ВЫВОДИТ
Внимание дальше.....
Тот же самый код, только в другом цикле
while(TSBuffer[j]==0)
{
if(TSBuffer[j]!=0)
Print("равен ",j," ",TSBuffer[j]); // ТУТ КОМП ВИСНЕТ!!!
j++;
}
TSBuffer[j] - ЭТО БУФЕР ИНДИКАТОРА
Что здесь не так?