| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1073 人关注过本帖
标题:求助:vb二维数组冒泡排序该怎么弄,都两天了还做不出来 。。。
只看楼主 加入收藏
绿野清风
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-9
收藏
 问题点数:0 回复次数:3 
求助:vb二维数组冒泡排序该怎么弄,都两天了还做不出来 。。。
题目要求:VB(6.0)
从10到99中生成5行10列的50个的随机数,并分别用选择法降序排序输出和冒泡法升序输出。界面要求:有picturebox和三个command
随机数的代码已经写出来了,后面的排序该怎么弄呢?跪求!!!都弄了两天了还是没进展。。。
Private Sub command1_Click()

  Picture1.Cls
  Picture1.Print ; "排列前数据"
  Randomize
  Dim a(5, 10) As Integer
  For i = 0 To 5
  For j = 0 To 10
  a(i, j) = Int((90) * Rnd + 10)
  Picture1.Print a(i, j) & " ";
Next j
  Picture1.Print
Next i
End Sub
搜索更多相关主题的帖子: command 要求 
2012-06-09 20:14
绿野清风
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-9
收藏
得分:0 
好心人帮帮忙
2012-06-09 20:27
周扬天
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2012-6-9
收藏
得分:0 
5行10列,行标为0到4,列标为0到9
Private Sub Command2_Click()
 Picture2.Cls
  Picture2.Print ; "排列后数据"
  Dim m, k, h As Integer
  Static c As Integer   '定义沉底个数的变量
  c = 0
   For k = 1 To 50 - c   '剩下比较的个数
     For h = 0 To 49 - k   '比较的轮数
        i = Int(h / 10)  '求出行标
        j = h Mod 10     '求出列标
        If j = 9 Then
          If A(i, j) > A(i + 1, 0) Then     '行尾与下一行的行首比较
           m = A(i, j)
           A(i, j) = A(i + 1, 0)
           A(i + 1, 0) = m
           End If
        ElseIf A(i, j) > A(i, j + 1) Then   '每一行行内的两个数比较
         m = A(i, j + 1)
         A(i, j + 1) = A(i, j)
         A(i, j) = m
         End If
       Next h
    c = c + 1                  'c个数已沉底
 Next k
  
  For i = 0 To 4
    For j = 0 To 9
     Picture2.Print A(i, j) & " ";
    Next j
     Picture2.Print
  Next i
      
End Sub
2012-06-10 10:40
周扬天
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2012-6-9
收藏
得分:0 
选择法排序:


Private Sub Command3_Click()
  Picture2.Cls
  Picture2.Print ; "排列后数据"
  Static c As Integer
  c = 0
  Dim k, h, e, f As Integer
  Dim m As Integer
  For k = 0 To 48-c
        i = Int(k / 10)         '基准数行标
        j = k Mod 10            '基准数列标
      
    For h = k + 1 To 50
     e = Int(h / 10)        '对比数行标
     f = h Mod 10      '对比数列标
   
      If A(i, j) < A(e, f) Then    '与剩下数比较
      m = A(i, j)
      A(i, j) = A(e, f)
      A(e, f) = m
      End If
    Next h
    c = c + 1         '已得出大数的个数
   Next k
  For i = 0 To 4
    For j = 0 To 9
     Picture2.Print A(i, j) & " ";
    Next j
     Picture2.Print
  Next i
End Sub

[ 本帖最后由 周扬天 于 2012-6-10 11:39 编辑 ]
2012-06-10 11:24
快速回复:求助:vb二维数组冒泡排序该怎么弄,都两天了还做不出来 。。。
数据加载中...
 
   



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

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