int CommonArray[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13};
int ArrayI[20]= {0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 0, 12, 13, 13, 13, 13, 0, 0, 13, 0};
int ArrayJ[];
int CommonOffset=0; // или сколько надоArrayResize(ArrayJ,ArraySize(ArrayI));
int k=0;
for(int j=0; j<ArraySize(ArrayI); j++)
if(ArrayI[j]!=CommonArray[j+CommonOffset])
ArrayJ[k++]=CommonArray[j+CommonOffset];
ArrayResize(ArrayJ,k);
它是这样的。
而这些零是我的错,它们应该在那里。
int k=0; // объявляем до цикла - чтобы использовать послеfor(int i=0; i<ArraySize(ArrayI); i++) // после предыдущего кода (1) размеры ArrayI и ArrayJ равныif(ArrayI[i]!=ArrayJ[i])
{
-ArrayJ[k++]=ArrayI[i];+ArrayJ[k++]=ArrayJ[i];
}
ArrayResize(ArrayJ,k);
关键字符串被高亮显示。结果。
预期的。
ArrayJ是动态的,似乎有什么问题......。但我也不需要一个静态的。
打破了我的想法。怎么了?或者说,这相当于那首老歌。
https://www.mql5.com/ru/forum/1111/page3141#comment_27152680
и
https://www.mql5.com/ru/forum/1111/page3142#comment_27371998
关于命名的常数?
你有一个额外的循环。
这里是正确的变体。
不要撕毁自己,亚历山大。
为什么是亚历山大?我是安德烈。
"不要撕裂自己" - 澄清。
你有一个额外的周期。
这里有正确的选择。
关于额外的循环...在这里可能不合适,但在一个大的代码中是必要的,所以它被移到这里。我 目前没有资源来检查该算法的正确性,但从形式上看,它是按计划进行的。
JRandomTrader,结果令人惊讶:全部为零。我稍后将仔细检查。谢谢大家。
它是这样的。
而这些零是我的错,它们应该在那里。
唏嘘
亲爱的!
你使用的是错误的信息。
亲爱的!
你使用的是错误的信息。
你想要哪一个?
另一个
是哪一个呢?
你是一个程序员,不是出租车司机,你需要寻找原因,而不是结果,然后一切都会水到渠成。