如何将二维数组中的某一行,保存为一个一维数组?
array<array<numeric>>A; array<numeric>B; arraycopy(A[1],B);我本想通过这个代码将二维数组转化为几个一维数组,但是用arraycopy无法成功,还是说只能用for循环去一个一个赋值?
array<array<numeric>>A; array<numeric>B; arraycopy(A[1],B);我本想通过这个代码将二维数组转化为几个一维数组,但是用arraycopy无法成功,还是说只能用for循环去一个一个赋值?
A[n]就是一个数组上面朋友的方法是对的
回复:老师麻烦看下面的评论,二维数组存在空值就无法正常赋值了
回复:另外顺便请问一下老师,在我赋值到一维数组后,如何清除这里面的0值(清楚是否存在0值,以及所在位置),我考虑用ArrayFind+ArrayErase,但只能一个一个删除,如何能够批量删除?
B=A[1] ;直接等于就可以
回复:好像还是不行,我用textarray打印出来,B是空值
回复:这个赋值是不可能有问题的 如果是空值,那肯定是别的地方出问题了你打印的时候 A和B都打印看看
回复:array<array<numeric>> A; for i=0 to 20 { for j=0 to 10 { if(i>10 and j==0) { Continue; }else{ A[i][j]=i+j; } } } array<numeric> B; B=A[11]; print(TextArray(A[11])+" "+TextArray(B));我知道原因了,我的二维数组在赋值的时候,有几组长度不一样。你可以试试这段代码,就无法成功赋值到B了
回复:咦 这是什么原因呢?A[11][0],A[12][0],A[13][0].....A[20][0],这几个值没有赋值成功导致给B赋值,A[0],A[1].....A[10]都可以,从A[11]开始就不可以。为什么呢?老师,为什么呢? array<array<numeric>> A; array<numeric> B; for i=0 to 20 { for j=0 to 10 { if(i>10 and j==0) { print( "A[" +text(i)+"]["+text(j)+"]=空值跳过"); Continue; }else{ A[i][j]=i+j; print( "A[" +text(i)+"]["+text(j)+"]="+text(A[i][j])); } } } B=A[11]; //A[0],A[1].....A[10]都可以,从A[11]开始就不可以 print("A= "+TextArray(A)); print("B= "+TextArray(B)); print(TextArray(A[11])+" 是否= "+TextArray(B));
回复:🤝是吧,我也很奇怪,@左手TBQ右手智大领峰 老师麻烦看一下👆
回复:现在空缺的是第一个元素 ,B就是空的我试了一下,如果空缺的是第三个元素,那么0、1、2 都是可以输出出来的想知道这个机制的原理是什么?是合理的吗?