orb: ребят делает одну лишнюю итерацию...может через break выход прописать?
Просто следите за счетчиком цикла и индексом элементов в массиве. Да и какая тут разница - при 1000 итераций. Ну попробуйте с break, но время выполнения чуть увеличится.
Вроде сами почти во всем и разобрались. Нормально, и дальше сможете. Просто почаще читайте документацию/хэлп.
Просто следите за счетчиком цикла и индексом элементов в массиве. Да и какая тут разница - при 1000 итераций. Ну попробуйте с break, но время выполнения чуть увеличится.
Вроде сами почти во всем и разобрались. Нормально, и дальше сможете. Просто почаще читайте документацию/хэлп.
В начале цикла : if(str==""){break;}, то есть независимую проверку на конец файла (строки) и выход. тогда не придеться счетчик уменьшать для форматирования...
В начале цикла : if(str==""){break;}, то есть независимую проверку на конец файла (строки) и выход. тогда не придеться счетчик уменьшать для форматирования...
Не так он считывает, в каком-то левом порядке. И и это не нулевая строка оказалась, а по ходу он не видит больше четырех знаков после точки и поэтому приравнивает их к нулю.
Код:
/*----------- Блок "Считывание истории из файла" -------------------------*/int qq=1;
while (FileIsEnding(h3)==false)
{
string str=FileReadString(h3);
if (str=="") {break;}
ArrayResize(Histxmas,qq);
Histxmas[qq-1][0]=StrToDouble(FileReadString(h3));
Histxmas[qq-1][1]=StrToDouble(FileReadString(h3));
Histxmas[qq-1][2]=StrToDouble(FileReadString(h3));
Histxmas[qq-1][3]=StrToDouble(FileReadString(h3));
Print("Histxmas[",qq-1,"][",0,"]=",Histxmas[qq-1][0]);
Print("Histxmas[",qq-1,"][",1,"]=",Histxmas[qq-1][1]);
Print("Histxmas[",qq-1,"][",2,"]=",Histxmas[qq-1][2]);
Print("Histxmas[",qq-1,"][",3,"]=",Histxmas[qq-1][3]);
Print("Итерация");
qq++;
}
FileClose(h3);
int N=qq-1;//переопределяем размер массива исторических значений/*----------- Коней блока "Считывание истории из файла" -------------------*/
Картинки, что на тестировании массив заполняет и сам файл как данные располагаются:
Просто следите за счетчиком цикла и индексом элементов в массиве. Да и какая тут разница - при 1000 итераций. Ну попробуйте с break, но время выполнения чуть увеличится.
Вроде сами почти во всем и разобрались. Нормально, и дальше сможете. Просто почаще читайте документацию/хэлп.
Просто следите за счетчиком цикла и индексом элементов в массиве. Да и какая тут разница - при 1000 итераций. Ну попробуйте с break, но время выполнения чуть увеличится.
Вроде сами почти во всем и разобрались. Нормально, и дальше сможете. Просто почаще читайте документацию/хэлп.
Да прибудет со мной Forex!=)
В начале цикла : if(str==""){break;}, то есть независимую проверку на конец файла (строки) и выход. тогда не придеться счетчик уменьшать для форматирования...
Это потому что while - цикл с постпроверкой
В начале цикла : if(str==""){break;}, то есть независимую проверку на конец файла (строки) и выход. тогда не придеться счетчик уменьшать для форматирования...
Это потому что while - цикл с постпроверкой
Есть небольшое исследование - вот тут.
FAQ, я и не подозревал, что ты тут настолько прав: пару мегабайт вряд ли дождешься и спать ляжешь...
Не так он считывает, в каком-то левом порядке. И и это не нулевая строка оказалась, а по ходу он не видит больше четырех знаков после точки и поэтому приравнивает их к нулю.
Код:
Картинки, что на тестировании массив заполняет и сам файл как данные располагаются: