| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 562 人关注过本帖
标题:数组 a(i),b(i),两个数组相关联,但 a(i)相同时,b(i)合并,组成一个新的数 ...
只看楼主 加入收藏
knight828
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-10-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
数组 a(i),b(i),两个数组相关联,但 a(i)相同时,b(i)合并,组成一个新的数组 c(i),d(i)
数组a(i),b(i),两个数组相关联,但a(i)相同时,b(i)合并,组成一个新的数组c(i),d(i)
2014-11-16 21:09
txxb
Rank: 2
等 级:论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
收藏
得分:0 
但a(i)相同时,是啥意思?
b(i合并,又是啥意思?
2014-11-16 22:02
knight828
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-10-6
收藏
得分:0 
就是数组a(i)里有重复的,b(i)相对应的项合并,如:
a(i)            b(i)            c(i)        d(i)
A                a1              A            a1,b1,cc1
A                b1              B            b2,d4
A                CC1             C            c5
B                b2
B                d4
C                c5
.....
2014-11-17 06:57
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:20 
这么一比划就明白了,很容易的。
图片附件: 游客没有浏览图片的权限,请 登录注册


代码如下:

Private Sub Command1_Click()
  Dim a(9) As String, b(9) As String, c() As String, d() As String
  Dim i As Integer, j As Integer, k As Integer
  Randomize
  Me.Cls
  Print "数组A", "数组B"
  For i = 0 To 9
    a(i) = Chr(65 + 5 * Rnd)  '随机产生10个字母到数组a中
    b(i) = Int(100 * Rnd)     '随机产生10个数到数组b中
    Print a(i), b(i)          '显示数组内容
  Next
  k = 0
  ReDim c(k): ReDim d(k)
  For i = 0 To 8
    If a(i) <> "-1" Then
      ReDim Preserve c(k): ReDim Preserve d(k)  '不改变数组CD前面值,增加数组下标
      c(k) = a(i): d(k) = b(i)
      For j = i + 1 To 9
        If a(j) = a(i) Then
          d(k) = d(k) & "," & b(j)   '合并数组B
          a(j) = "-1"                '修改数组A中相同内容为不存在的元素,防止重复判断
        End If
      Next
      k = k + 1
    End If
  Next
  Print "数组C", "数组D"
  For i = 0 To UBound(c)
    Print c(i), d(i)                 '显示合并后数组内容
  Next
End Sub
2014-11-17 08:16
我可不是大神
Rank: 1
等 级:新手上路
帖 子:8
专家分:4
注 册:2014-11-14
收藏
得分:0 
版主能不能文字描述一下
2014-11-17 13:52
knight828
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-10-6
收藏
得分:0 
不愧是大师,谢谢!
处理的思路有点明白,一直纠结重复怎么处理,
有个地方不明白c(k) = a(i): d(k) = b(i)之间的冒号是什么意思?
没接触过,冒昧一问,见笑!
2014-11-17 20:46
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
冒号表示前后为两行不相干的语句
2014-11-21 08:27
快速回复:数组 a(i),b(i),两个数组相关联,但 a(i)相同时,b(i)合并,组成一个 ...
数据加载中...
 
   



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

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