intArrayCopy( void& dst_array[], // куда копируем constvoid& src_array[], // откуда копируем int dst_start=0, // с какого индекса пишем в приемник int src_start=0, // с какого индекса копируем из источника int count=WHOLE_ARRAY// сколько элементов );
intArrayCopy( void& dst_array[], // куда копируем constvoid& src_array[], // откуда копируем int dst_start=0, // с какого индекса пишем в приемник int src_start=0, // с какого индекса копируем из источника int count=WHOLE_ARRAY// сколько элементов );
我的意思是,当数据被传入数组时,它将按顺序填入,即array1[] = x;如果没有直接指定单元格号,值x将被写入哪个单元格?
如果你想用相同的值填充所有单元格,请使用ArrayInitialize()。
如果你想写不同的值,请按顺序使用循环。如果你需要写到一个特定的单元格,指定其地址。
如果你想用相同的值填充所有单元格,请使用ArrayInitialize()。
如果你想写不同的值,请按顺序使用循环。如果你需要写到一个特定的单元格,指定其地址。
谢谢你。
这里还有一个问题:通过ArrayCopy,我是否能够创建一个新的数组,其大小等于前一个数组的填充单元数?还是我应该先创建第二个阵列,然后再进行复制?
void& dst_array[], // куда копируем
const void& src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int count=WHOLE_ARRAY // сколько элементов
);
谢谢你。
这里还有一个问题:用ArrayCopy,我可以创建一个新的数组,其大小与前一个数组中的填充单元数相同吗?还是我必须先创建第二个阵列,然后再复制?
void& dst_array[], // куда копируем
const void& src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int count=WHOLE_ARRAY // сколько элементов
);
当然,先创造。
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[x];
ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 1000) x = 0;
像这样,我把Spread值写入ExtSpread[],当一分钟的条形图结束后,我把它移到另一个数组中--理论上,它应该存活到下一个条形图。
尺寸ExtSpread[1000]
还有一个问题:如果数组从零开始编号,那么,如果其大小为1000,其最后一个单元格将是999?
那么它是正确的:x++,如果( x > 999 ) x=0。
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[x];
ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 1000) x = 0;
像这样,我把Spread值写入ExtSpread[],当一分钟的条形图结束后,我把它移到另一个数组中--理论上,它应该存活到下一个条形图。
尺寸ExtSpread[1000]
还有一个问题:如果数组从零开始编号,那么,如果其大小为1000,其最后一个单元格将是999?
那么它是正确的:x++,如果( x > 999 ) x=0。
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[];ArrayInitialize (Spread2,EMPTY_VALUE); ArrayResize( Spread2,x,0);
ArrayCopy( Spread2,ExtSpread,0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 999) x = 0;
推迟了。
scomoroh, 2016.12.04 18:58
编译过程中弹出一个错误。问题是什么?帮助解决这个问题!推迟了。
scomoroh, 2016.12.04 18:58
在编译过程中会弹出一个错误。问题是什么?帮我解决这个问题!ArrayInitialize(max,0) =>ArrayInitialize(arr,0)。
for(int a=1;a<=pr;a++) =>for(int a=1;a<pr;a++)
这是一个非常不理想的代码,终端在启动时挂起几分钟,然后会非常慢,如果你在几个图表上运行它,那么它将完全不工作。
ArrayInitialize(max,0) =>ArrayInitialize(arr,0)。
for(int a=1;a<=pr;a++) =>for(int a=1;a<pr;a++)
这是一个非常不理想的代码,终端在启动时挂起几分钟,然后会非常慢,如果你在几个图表上运行它,那么它将完全不工作。