标题:[求助]数组筛选问题
只看楼主
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
 问题点数:0 回复次数:17 
[求助]数组筛选问题
如何筛选数组中重复的数字,并按顺序输出~?
搜索更多相关主题的帖子: 筛选 数字 顺序 输出 
2007-01-17 15:29
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
得分:0 

什么意思???? 举个例子看看.


由于工作,N久都没来了!
2007-01-17 18:21
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
意思没说明白

这个社会太复杂。。。
2007-01-17 20:23
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
得分:0 
就是如果一个一维数组是12413
则我们筛选的是1243
后面出现出现重复的1舍去``
2007-01-17 20:37
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
得分:0 

从第二个数开始,每次从头扫描一遍,有相同的就把他删除,然后进行下一个数的判断


2007-01-17 20:47
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
其实楼上说的删除并不好操作。。。我有方法。。

另外定义一个数组a。。。逐个扫描原数组中的数,遇到新的数就放入数组a中,每到下一个数都要与a中的每一个数比较,和重复就写入a中,重复就什么也不做,继续下一个数的比较

这个社会太复杂。。。
2007-01-17 20:55
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
最后把a输出就是要的结果了

这个社会太复杂。。。
2007-01-17 20:55
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
得分:0 
斑竹```
我提个人鄙见```求你指点一下``
我觉得先输出第一个数,然后后面的数字用循环跟前面比,如果存在重复用continue继续下面那个```知道遇到'\0'为止``
这样行吗```
2007-01-17 21:55
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 


这个意思差不多,但海蓝啸斑竹的容易实现.frog555说的只是不用存储,只是单纯的输出而已.

当然也可以这样改,建两数组数组a[10].b[10].
一个记录当前已经处理过的数字(用下标标示),一个则记录数字的顺序.
这个虽浪费空间,但效率很高.因为不需要比较很多次.


倚天照海花无数,流水高山心自知。
2007-01-17 22:36
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
大致如下:

假设以数字字符输入str[].
int k=0,a[10]={0},b[10];
for(i=0;i<strlen(str);i++)
{
t=str[i]-'0';
if(a[t]==0)
{
a[t]=1;
b[k++]=t;
}
}
for(i=0;i<k;i++)
{
printf("%d",b[i]);
}

倚天照海花无数,流水高山心自知。
2007-01-17 22:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-116531-1-1.html




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

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