| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 266 人关注过本帖
标题:一维数组怎么转为二维数组啊
只看楼主 加入收藏
乖巧的大脸猫
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-5-8
收藏
 问题点数:0 回复次数:4 
一维数组怎么转为二维数组啊
将一个一维数组a(9)中各元素按行的顺序放入二维数组b(3,3)
搜索更多相关主题的帖子: 顺序 二维数组 元素 一维 数组 
2021-05-08 14:09
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:300
帖 子:4640
专家分:28903
注 册:2008-10-15
收藏
得分:0 
啥情况?
b(1,1)=a(1)
b(2,1)=a(2)
b(3,1)=a(3)
b(1,2)=a(4)
......
这种的吗?
如果数组下标都是1开始的,那么可以使用 CopyMemory
如:
程序代码:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim a(1 To 9) As Long
Dim b(1 To 3, 1 To 3) As Long
Dim i As Long
For i = 1 To 9
    a(i) = i * 10 + Rnd() * 10
Next i
Call CopyMemory(b(1, 1), a(1), 4 * 9)
End Sub


如果不是,老老实实写循环一个一个的赋值吧。

授人于鱼,不如授人于渔
早已停用QQ了
2021-05-08 21:04
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:67
帖 子:858
专家分:4336
注 册:2010-3-16
收藏
得分:0 

数组从0开始
for i=0 to 2
  for j=0 to 2
     b(i,j)=a(i*3+j)
  next j
next i

从1开始
for i=1 to 3
  for j=1 to 3
     b(i,j)=a((i-1)*3+j)
  next j
next i
2021-05-08 22:28
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:42
帖 子:366
专家分:1885
注 册:2016-3-10
收藏
得分:0 
假设A(9)为A(1)-A(9),B(3,3)为B(1,1)-B(3,3)

for i=0 to 8'按行放
  b((i \ 3)+1,(i mod 3) +1 )=a(i+1)
next

For i = 0 To 8'按列放
  b((i Mod 3) + 1, (i \ 3) + 1) = a(i + 1)
Next
2021-05-12 14:34
cwa9958
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:30
帖 子:148
专家分:854
注 册:2006-6-25
收藏
得分:0 
将一个一维数组a(9)中各元素按行的顺序放入二维数组b(3,3)

a(9)是10个元素,b(3,3)是16个元素
下标从1开始,是一样的个数,都是9个。
dim a(9),b(3,3)
for i=1 to 3
   for j=1 to 3
     b(i,j)=a((i-1)*3+j)
   next
next


[此贴子已经被作者于2021-5-13 15:07编辑过]

2021-05-13 15:06
快速回复:一维数组怎么转为二维数组啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.093233 second(s), 8 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved