24小时热门版块排行榜    

查看: 3321  |  回复: 4

btx97

金虫 (小有名气)

[求助] 如何辨别数组中的重复元素及其重复次数

我想从一个数组中得出其不重复的元素并给出重复元素的重复次数。 想不到好的办法。来这里请教下,希望知道的或则编过这样的虫友指教下。

问题出自,数值解一元多次方程后对重根情况的后续处理,元素是复数。希望程序简单,有效。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
btx97: 金币+2, ★★★很有帮助, 数值计算中不重复但相近的数值有时会被当作相同的值,所以c++这部分可能不好用。:> 2012-06-15 20:53:34
python可以用一个dict保存
CODE:
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> s = ['a','b','b','c','c','c']
>>> d = [s.count(x) for x in set(s)]
>>> d
[1, 3, 2]
>>> d = {}
>>> for x in s:
        if not x in d.keys():
                d[x] = 1
        else:
                d[x] += 1

               
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>>

如果是c++,一样的思想,因为map(类似于python的dict)要求key必须唯一,所以可以用来检测重复元素
CODE:
int n = 6;
        char s[] = {'a','b','b','c','c','c'};
        map d;
        for (int i=0;i         {
                if (d.find(s[i])==d.end()) d.insert(make_pair(s[i],1));
                else d[s[i]]++;
        }

        map ::iterator it;
        for (it=d.begin();it!=d.end();it++)
        {
                cout << (*it).first << ": " << (*it).second << endl;
        }

测试结果:
CODE:
'a': 1
'b': 2
'c': 3

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-06-15 16:16:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2012-06-15 09:16:04
python可以用一个dict保存
Python 2.7.2 (default, Jun 12 2011, 15:08:59)  on win32
Type "copyright", "credits" or "license()" for more information.
>>> s =
...

fortran里有没有这么方便的啊?
3楼2012-06-15 20:38:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★
jjdg: 金币+1, 感谢参与 2012-06-16 22:01:14
btx97: 金币+8, ★★★很有帮助, 没人来讲Fortran。 是不是Fortran用的人太少了哦! 2012-06-30 15:58:41
引用回帖:
3楼: Originally posted by btx97 at 2012-06-15 20:38:06
fortran里有没有这么方便的啊?...

python的dict和c++的map只是提供了一个简单的数据结构
你可以按照人工找重的步骤写个函数实现,数值问题定义个一个epsilon来解决
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-06-16 19:32:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

继续求Fortran的方法,高手帮忙啊
5楼2012-06-18 05:46:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 btx97 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 v7Aev8ORQjin 2026-08-22 3/150 2026-08-23 20:58 by 0p9y1isJp2jM
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 15/750 2026-08-23 20:44 by 大萍1987
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 8/400 2026-08-23 18:58 by lXgU0RvNTDC9
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 2JOx3r2CYEgw 2026-08-21 5/250 2026-08-23 14:33 by KM5EcsNQRBPn
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 07:41 by OEbVnUOu01ol
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 03:52 by OEbVnUOu01ol
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 7/350 2026-08-23 03:43 by OEbVnUOu01ol
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 2JOx3r2CYEgw 2026-08-22 6/300 2026-08-23 03:40 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 范进中举一文的中心思想 +3 炎黄贵胄 2026-08-22 4/200 2026-08-22 20:02 by mycsru
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
信息提示
请填处理意见