求数组子集——无重复数字的数组.doc_第1页
求数组子集——无重复数字的数组.doc_第2页
求数组子集——无重复数字的数组.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

求数组子集无重复数字的数组在许多vb课程中都安排了如下的实验:利用随机函数产生80个1099之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数,并将这些素数求和。将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。作者实验后发现,在产生的数组中,大都有重复数字出现,这与后面“找出其中的*数”相悖。于是萌生了去除重复数字,重新定义子集数组的想法。为简化程序,本例只给出奇数子集的代码。先在窗体中添加三个命令按钮,caption属性分别为:随机数、奇数、子集。代码如下:Dim a%(1 To 80), b%(), c%(), d%() a随机,b奇数,c素数,d偶数Dim e%(), f%(), g%() b、c、d对应的子集e、f、gDim i%, k%, t%, p%, sum%, m%, n%, s%, r%Private Sub Command1_Click()Me.Cls 清屏 Randomize t = 1: k = 1: p = 1: m = 1: n = 1 For i = 1 To 80 a(i) = Int(Rnd * 90) + 10 生成随机数a(i) If a(i) Mod 2 = 1 Then 奇数为b(k) ReDim Preserve b(k) b(k) = a(i) k = k + 1 End If Next i Print 生成的80个随机数 显示随机数 Print For i = 1 To 80 Print a(i); If i Mod 10 = 0 Then Print Next i Print String(40, -)End Sub Private Sub Command2_Click() 奇数-原数据 Print 奇数 SortArrayAtoZ b, k - 1 Print For i = 1 To k - 1 Print b(i); If i Mod 10 = 0 Then Print Next i Print Print String(40, -)End SubPrivate Sub Command3_Click() 奇数子集 ReDim Preserve e(n) e(1) = b(1): n = 2 For m = 2 To UBound(b) Select Case True Case b(m) = b(m - 1) e(n - 1) = b(m - 1) Case Else ReDim Preserve e(n) e(n) = b(m): n = n + 1 End Select Next m ReDim Preserve e(n) Print 子集 Print For i = 1 To n - 1 Print e(i); If i Mod 10 = 0 Then Print Next i Print Print String(40, -)End SubPrivate Sub SortArrayAtoZ(arr() As Integer, ByVal size As Integer) 升序排列 Dim i%, j%, t% For i = 1 To size For j = i + 1 To size If arr(i) arr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论