清除一个定义元素的数组 - 页 20 1...131415161718192021222324252627...30 新评论 Nikolai Semko 2018.11.16 13:30 #191 彼得,你有一个独特的编程风格。简而言之,你是在无视,而不是因为无视的情况下编程。 Konstantin Nikitin 2018.11.16 13:45 #192 Реter Konow:对。但我们怎么知道所提供的算法没有留下任何空白?校验和并不能证明这一点。元素的数量也是如此。毕竟,这个函数计算的是在数组被调整大小之前的元素。不过,你已经找到了一个实现方法,修复了静态数组中的一个错误。 int arrayFilter2(int &Test[],const int value) { int s,_s=s=ArraySize(Test); bool result=false; for(int i=0,j=0; i<_s; i++,j++) { if(Test[i]==value)// || Test[i]==NULL) { result=true; s--; j--; continue; } if(result) Test[j]=Test[i]; } if(s<_s) if(ArrayResize(Test,s)) if(ArraySize(Test)==_s) ArrayFill(Test,s,_s-s,NULL); return s; }现在,如果它是静态的,我们就清除尾巴。 附加的文件: ArrayDeleteValue.mq5 24 kb Nikolai Semko 2018.11.16 13:52 #193 Реter Konow:对。但我们怎么知道所提供的算法没有留下任何空白?校验和并不能证明这一点。元素的数量也是如此。毕竟,这个函数计算的是在数组被调整大小之前的元素。你应该看最新版本的代码,而不是第一个版本。 这种考虑到数组中元素序列的校验,已经使用了很长时间。 double ControlSumm(int &a[]) { double sum=0; for(int i=0; i<ArraySize(a); i++) sum+=(double)a[i]/(i+1); return sum; } Stanislav Dray 2018.11.16 13:56 #194 纠正了第三次测试中的一个错误,并调整了我的功能 附加的文件: ArrayDeleteValue.mq5 24 kb Реter Konow 2018.11.16 13:57 #195 Nikolai Semko:你要看的是最新版本的代码,而不是第一个。 已经很久没有使用这样的校验了,它考虑到了数组中元素的顺序。 你需要一个可证明正确性的证据。一行20个数字就足以满足这个要求。如果该算法通过了这一测试,就可以对其进行速度测试。所进行的测试是一个盲目的测试。 也许所有的算法都能正确地工作,也许领导人会掉以轻心。 Nikolai Semko 2018.11.16 13:58 #196 Реter Konow:你需要一个可证明正确性的证据。一行20个数字就足以满足这个要求。如果该算法通过了这一检查,就可以对其进行速度测试。校验的目的不是为了确保在校验和相同的情况下数组是相同的,而是为了确保在校验和不同的情况下数组是不同的。 Реter Konow 2018.11.16 14:01 #197 Nikolai Semko:校验和的目的不是为了确保在校验和相同的情况下数组是相同的,而是为了确保在校验和不同的情况下数组是不同的。尼古拉,使用我的例子,用一个20个元素的数组来检查算法并不难,是吗?只是在结果中输出? Stanislav Dray 2018.11.16 14:02 #198 Реter Konow:你需要一个可证明正确性的证据。一行20个数字就足以满足这个要求。如果该算法通过了这一测试,就可以对其进行速度测试。所进行的测试是一个盲目的测试。 也许所有的算法都能正常工作,也许领导人会离开他们的位置。如果你不相信校验和,有什么问题呢? Nikolai Semko 2018.11.16 14:04 #199 Реter Konow:尼古拉,使用我的例子,用一个20个元素的数组来检查算法并不难,是吗?只是在结果中显示吗?在一个有20个元素的数组中,不可能评估一个函数的速度。而这正是这个话题的重点。 Реter Konow 2018.11.16 14:18 #200 Nikolai Semko:在一个有20个元素的数组中,不可能估计一个函数的速度。而这正是这个分支的重点。对算法还有一个要求--在去除不必要的元素后,在数组内正确放置元素。必须先进行这项检查。然后是速度检查。 1...131415161718192021222324252627...30 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
对。但我们怎么知道所提供的算法没有留下任何空白?校验和并不能证明这一点。元素的数量也是如此。毕竟,这个函数计算的是在数组被调整大小之前的元素。
不过,你已经找到了一个实现方法,修复了静态数组中的一个错误。
现在,如果它是静态的,我们就清除尾巴。
对。但我们怎么知道所提供的算法没有留下任何空白?校验和并不能证明这一点。元素的数量也是如此。毕竟,这个函数计算的是在数组被调整大小之前的元素。
你应该看最新版本的代码,而不是第一个版本。
这种考虑到数组中元素序列的校验,已经使用了很长时间。
纠正了第三次测试中的一个错误,并调整了我的功能
你要看的是最新版本的代码,而不是第一个。
已经很久没有使用这样的校验了,它考虑到了数组中元素的顺序。
你需要一个可证明正确性的证据。一行20个数字就足以满足这个要求。如果该算法通过了这一测试,就可以对其进行速度测试。
所进行的测试是一个盲目的测试。
也许所有的算法都能正确地工作,也许领导人会掉以轻心。
你需要一个可证明正确性的证据。一行20个数字就足以满足这个要求。如果该算法通过了这一检查,就可以对其进行速度测试。
校验的目的不是为了确保在校验和相同的情况下数组是相同的,而是为了确保在校验和不同的情况下数组是不同的。
校验和的目的不是为了确保在校验和相同的情况下数组是相同的,而是为了确保在校验和不同的情况下数组是不同的。
尼古拉,使用我的例子,用一个20个元素的数组来检查算法并不难,是吗?只是在结果中输出?
你需要一个可证明正确性的证据。一行20个数字就足以满足这个要求。如果该算法通过了这一测试,就可以对其进行速度测试。
所进行的测试是一个盲目的测试。
也许所有的算法都能正常工作,也许领导人会离开他们的位置。
如果你不相信校验和,有什么问题呢?
尼古拉,使用我的例子,用一个20个元素的数组来检查算法并不难,是吗?只是在结果中显示吗?
在一个有20个元素的数组中,不可能评估一个函数的速度。而这正是这个话题的重点。
在一个有20个元素的数组中,不可能估计一个函数的速度。而这正是这个分支的重点。
对算法还有一个要求--在去除不必要的元素后,在数组内正确放置元素。必须先进行这项检查。然后是速度检查。