TC官方合作论坛

 找回密码
 立即注册
查看: 416|回复: 11
打印 上一主题 下一主题

[已解决] 怎么排除相同数

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-15 21:00:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 cjxdn 于 2015-4-16 09:41 编辑

1   5
2   4
3   7
4   1
5   9

怎么排除相同数,获得不同的数

需要获得 2 3 7 9 的数

  1. 空间 排除相同数

  2. 功能 开始_点击()
  3.     变量 len,len1,z
  4.     对比1 = 数组[5]
  5.     对比2 = 数组[5]
  6.     对比1[0] = 1
  7.     对比1[1] = 2//不同数
  8.     对比1[2] = 3//不同数
  9.     对比1[3] = 4
  10.     对比1[4] = 5
  11.    
  12.     对比2[0] = 5
  13.     对比2[1] = 4
  14.     对比2[2] = 7//不同数
  15.     对比2[3] = 1
  16.     对比2[4] = 9//不同数
  17.     数组空间.大小(对比1,len)
  18.     数组空间.大小(对比2,len1)
  19.    
  20.     z=1
  21.     遍历(i=0;i<len;i++)
  22.         遍历(m=0;m<len1;m++)
  23.             如果(对比1[i] == 对比2[m])
  24.                 z = 1
  25.                 跳出
  26.             否则
  27.                 如果(z == len1)
  28.                     调试输出("获得不同数:"&对比1[i])
  29.                     跳出
  30.                 否则
  31.                     z++
  32.                 如果结束
  33.             如果结束
  34.         遍历结束
  35.     遍历结束
  36.    
  37.     z=1
  38.     遍历(i=0;i<len1;i++)
  39.         遍历(m=0;m<len;m++)
  40.             如果(对比2[i] == 对比1[m])
  41.                 z=1
  42.                 跳出
  43.             否则
  44.                 如果(z == len)
  45.                     调试输出("获得不同数:"&对比2[i])
  46.                     跳出  
  47.                 否则
  48.                     z++
  49.                 如果结束
  50.             如果结束
  51.         遍历结束
  52.     遍历结束
  53.    
  54. 功能结束


  55. 功能 退出_点击()
  56.     辅助.退出()
  57. 功能结束

  58. 空间结束
复制代码
输出结果:
输出>>"获得不同数:1"
输出>>"获得不同数:2"
输出>>"获得不同数:3"
输出>>"获得不同数:1"
输出>>"获得不同数:9"
输出>>"获得不同数:5"
输出>>"获得不同数:4"
输出>>"获得不同数:7"
输出>>"获得不同数:"
输出>>"获得不同数:"
回复

使用道具 举报

8#
发表于 2015-4-16 10:53:23 | 只看该作者
本帖最后由 贪吃蛇 于 2015-4-16 11:21 编辑
cjxdn 发表于 2015-4-16 10:35
你这是1组数组分割去重复吧

我要的是2组数之间对比去重复的

哦,没仔细看你的要求, 你把第1行改成
变量 数据串="1,2,3,4,5"&","&"5,4,7,1,9"
就可以了或者像下面这样,两个数组各找一次也能实现,不过效率低下
  1. 功能 找不重复数()
  2.     //给数组赋值
  3.     变量 数据串1="1,2,3,4,5"
  4.     变量 数据串2="5,4,7,1,9"
  5.     变量 数据组1=数组[],数据组2=数组[],目标组=数组[]
  6.     字符串.分割(数据串1,",",数据组1)
  7.     字符串.分割(数据串2,",",数据组2)
  8.     //将不重复的值装入"目标组"
  9.     变量 数据量1,数据量2,不重复量
  10.     数组空间.大小(数据组1,数据量1)
  11.     数组空间.大小(数据组2,数据量2)
  12.     遍历(i=0;i<数据量1;i++)
  13.         位置=数组空间.查找(数据组2,数据组1[i])
  14.         如果(位置==-1)
  15.             数组空间.增加(目标组,数据组1[i],1)
  16.         如果结束
  17.     遍历结束
  18.     遍历(i=0;i<数据量2;i++)
  19.         位置=数组空间.查找(数据组1,数据组2[i])
  20.         如果(位置==-1)
  21.             数组空间.增加(目标组,数据组2[i],1)
  22.         如果结束
  23.     遍历结束
  24.     数组空间.大小(目标组,不重复量)
  25.     遍历(i=0;i<不重复量;i++)
  26.         调试输出(目标组[i])
  27.     遍历结束
  28. 功能结束
复制代码
这样效率好些
  1. 功能 找不重复数()
  2.     //给数组赋值
  3.     变量 数据串1="1,2,3,4,5"
  4.     变量 数据串2="5,4,7,1,9"
  5.     变量 数据组1=数组[],数据组2=数组[],目标组=数组[]
  6.     字符串.分割(数据串1,",",数据组1)
  7.     字符串.分割(数据串2,",",数据组2)
  8. //将数据组1中不重复的值装入"目标组",剔除数据组2中的重复值
  9.     变量 数据量1,数据量2,不重复量
  10.     数组空间.大小(数据组1,数据量1)
  11.     变量 位置,重复=假
  12.     遍历(i=0;i<数据量1;i++)
  13.         位置=0
  14.         循环(位置>=0)
  15.             位置=数组空间.查找(数据组2,数据组1[i])
  16.             如果(位置==-1)
  17.                 如果(!重复)
  18.                     数组空间.增加(目标组,数据组1[i],1)
  19.                 如果结束
  20.                 重复=假
  21.                 跳出
  22.             否则
  23.                 重复=真
  24.                 数组空间.删除指定项(数据组2,位置)
  25.             如果结束
  26.         循环结束
  27.     遍历结束
  28.     目标组=数组空间.连接(目标组,数据组2)
  29.     数组空间.大小(目标组,不重复量)
  30.     遍历(i=0;i<不重复量;i++)
  31.         调试输出(目标组[i])
  32.     遍历结束
  33. 功能结束
复制代码



回复 支持 反对

使用道具 举报

沙发
发表于 2015-4-15 21:53:13 | 只看该作者
  1. 功能 start_click()
  2.     变量 arr1=数组(1,2,3,4,5,5,4,7,1,9)
  3.     变量 size1=数组大小(arr1)
  4.     变量 arr2,arr3=数组(),位置=-1
  5.     遍历(变量 i = 0; i <size1; i++)
  6.         arr2=arr1
  7.         数组指定位置删除(arr2,i)
  8.         位置=数组值查找(arr2,arr1[i],1)
  9.         如果(位置==-1)
  10.             数组追加元素(arr3,arr1[i])
  11.         结束
  12.     结束
  13.     变量 size3=数组大小(arr3)
  14.     遍历(变量 i = 0; i <size3; i++)
  15.         调试输出(arr3[i])
  16.     结束
  17. 结束
复制代码
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-4-15 22:49:50 | 只看该作者

大神4.0版本的怎么写
回复 支持 反对

使用道具 举报

地板
发表于 2015-4-16 00:16:41 | 只看该作者

是因为我太久没来了么 是不是更新了又  5.0的语法又加上了 调试输出的么  辞职了 一个人跑深圳来 太累了好久不上了都
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2015-4-16 00:25:07 | 只看该作者
q273814 发表于 2015-4-16 00:16
是因为我太久没来了么 是不是更新了又  5.0的语法又加上了 调试输出的么  辞职了 一个人跑深圳来 太累了 ...

以前的5.0是公测版,现在都准备出正式版了
回复 支持 反对

使用道具 举报

6#
发表于 2015-4-16 10:22:14 | 只看该作者
cjxdn 发表于 2015-4-15 22:49
大神4.0版本的怎么写

我也是新手,4.x版和5.0类似,5.0的示例要操作3个数组,数据量大时耗内存、效率低,这个4.x版的用到2个数组,并且数据组是在不断减小(不晓得空间自动回收没),相对好些。抛砖引玉吧,说不定哪位大神能抛出个牛掰算法给咱临摹。
  1. 功能 找不重复数()
  2.     //给数组赋值
  3.     变量 数据串="1,2,3,4,5,5,4,7,1,9"
  4.     变量 数据组=数组[],目标组=数组[]
  5.     字符串.分割(数据串,",",数据组)
  6.     //将不重复的值装入"目标组"
  7.     变量 数据量,不重复量
  8.     数组空间.大小(数据组,数据量)
  9.     变量 tmp,位置,重复=假
  10.     循环(数据量>1)
  11.         位置=0
  12.         tmp=数据组[0]
  13.         数组空间.删除指定项(数据组,0)
  14.         数据量--
  15.         循环(位置>=0)
  16.             位置=数组空间.查找(数据组,tmp)
  17.             如果(位置==-1)
  18.                 如果(!重复)
  19.                     数组空间.增加(目标组,tmp,1)
  20.                 如果结束
  21.                 重复=假
  22.                 跳出
  23.             否则
  24.                 重复=真
  25.                 数组空间.删除指定项(数据组,位置)
  26.                 数据量--
  27.             如果结束
  28.         循环结束
  29.     循环结束
  30.     如果(数据量==1)
  31.        数组空间.增加(目标组,数据组[0],1)
  32.     如果结束
  33.     数组空间.大小(目标组,不重复量)
  34.     遍历(i=0;i<不重复量;i++)
  35.         调试输出(目标组[i])
  36.     遍历结束
  37. 功能结束
复制代码
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2015-4-16 10:35:02 | 只看该作者
贪吃蛇 发表于 2015-4-16 10:22
我也是新手,4.x版和5.0类似,5.0的示例要操作3个数组,数据量大时耗内存、效率低,这个4.x版的用到2个数 ...

你这是1组数组分割去重复吧

我要的是2组数之间对比去重复的
对比1 = 数组[5]
    对比2 = 数组[5]
    对比1[0] = 1
    对比1[1] = 2//不同数
    对比1[2] = 3//不同数
    对比1[3] = 4
    对比1[4] = 5
   
    对比2[0] = 5
    对比2[1] = 4
    对比2[2] = 7//不同数
    对比2[3] = 1
    对比2[4] = 9//不同数
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2015-4-16 11:02:09 | 只看该作者
贪吃蛇 发表于 2015-4-16 10:53
哦,没仔细看你的要求, 你把第1行改成
变量 数据串="1,2,3,4,5"&","&"5,4,7,1,9"
就可以了 ...

我是小白,请问怎么把2组数组数据放进数据串里
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2015-4-16 11:12:18 | 只看该作者
贪吃蛇 发表于 2015-4-16 10:53
哦,没仔细看你的要求, 你把第1行改成
变量 数据串="1,2,3,4,5"&","&"5,4,7,1,9"
就可以了或者像下面 ...

对比1[0] = 1
    对比1[1] = 2//不同数
    对比1[2] = 3//不同数
    对比1[3] = 4
    对比1[4] = 5

我不会把对比1转换成 数据串1="1,2,3,4,5"啊
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-23 04:59 , Processed in 0.168999 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表