| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5078 人关注过本帖
标题:求 算法
取消只看楼主 加入收藏
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
 问题点数:0 回复次数:9 
求 算法
一个数组a[10] {1,2,3,4,4,5,6,7,8,9}
 怎么找出那个相同的数字?
 
 三种方法
搜索更多相关主题的帖子: 算法 
2008-05-01 23:16
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
..
你贴下代码好吗。谢谢

<接受者>? or <创造者>?
2008-05-01 23:24
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
你把关键的指导下好吗 谢谢

<接受者>? or <创造者>?
2008-05-01 23:39
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
----------------
如果是混乱的数组呢  比如 a[10] {1,3,5,4,6,7,8,9,4}
 两两比较就不行..这样行不
int *p;
p=a;
for(p=a;p<a+p;p++)
{
  if(p==p) printf("p");
===============================

<接受者>? or <创造者>?
2008-05-02 10:58
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
无语
[bo]以下是引用 [un]广陵绝唱[/un] 在 2008-5-2 10:42 的发言:[/bo]

~~~~~~~~~~~~~~~~
    楼主既然求这道题的代码,就表明他基本上是个初学者(想来应该如此,如有冒犯之处,楼主海涵)。楼上朋友的代码很精妙——我看不懂,但想来应该很高很深,再上两楼的回帖意义深远,专业性很强,令人读后如醍醐灌 ...

=================================================
如果永远让我知道 1+1=2 ,而不让我知道1×2=2的话,那么我永远也只知道2只能由1+1得到!

<接受者>? or <创造者>?
2008-05-02 11:01
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
...
[bo]以下是引用 [un]广陵绝唱[/un] 在 2008-5-2 22:36 的发言:[/bo]

一,回楼主:你说的数组找出相同的数值的代码,照你的题意,根本不用那么复
            杂。如照你所说,数组次序是混乱的,那样用两个for也可以解决。
            请不要人云亦云,这对学习是大忌。

二,回yuki :欣赏,为人大度—— ...

/////////////////////////////////////////////////////
其实带着理性的讨论是我们最需要的,还有点,我的意思是:在一个不定多少个元素的数组中查找相同的元素,,不一定有,有的话也也可能不止一个, for语句请教如何胜任?

<接受者>? or <创造者>?
2008-05-02 23:18
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
[bo]以下是引用 [un]sunkaidong[/un] 在 2008-5-2 23:32 的发言:[/bo]

也不是不可以
char a[]={"abcdefg"};
char *b=new char[max(a)];
for(int i=0;i

//////////////////////
数组元素不定,,,,这样写???

<接受者>? or <创造者>?
2008-05-02 23:38
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
[bo]以下是引用 [un]StarWing83[/un] 在 2008-5-2 23:35 的发言:[/bo]

To飞燕:1~n中只有一对相同数字的,LRJ在艺术里面讲了一种O(lgn)的方法,是通过判断每个数字的相应二进制位,然后进行二分……这种方法不需要关键字有序……可以算是1~n中间效率最高的算法了…… ...

//////////////////////////
字符数组呢??

<接受者>? or <创造者>?
2008-05-02 23:41
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
我只学到C的指针数组..你们说的我不明白,还是要谢谢.

<接受者>? or <创造者>?
2008-05-02 23:47
hjh10845
Rank: 1
来 自:火星
等 级:新手上路
帖 子:104
专家分:0
注 册:2008-3-31
收藏
得分:0 
/***************************************************************************

                呵呵,终于把它作出来了,虽然简陋些,算法也很普通,
            但终究是自己的作品,也达到了楼主的要求,也通俗易懂。
            如有不对的地方,希望大家指出来,谢谢。

               也不知道我的这个时间复杂度是多少呢?

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                今天发生了很不好的事情,但对于我也许是种激励。因为虽然
            听到了很偏激的声音,说明我平时做得很不好,有许多不足之处。
            但也看到了许多支持我、鼓励我的朋友。

                在此谢过众位了,对我有好感的,对我厌恶的。都谢谢了。
***************************************************************************/
#include<stdio.h>
#include<string.h>
#define N 10000
void px(char a[],int n)
{
        char c;
        int i,j;
        for(i=0;i<n;++i)
                for(j=i+1;j<n;++j)
                        if(a[i]<a[j])
                        {
                                c=a[i];
                                a[i]=a[j];
                                a[j]=c;
                        }
}
int main(void)
{
        char a[N];/*用于输入待检查的数据*/
        int i,j,n,k;
        printf("下面输入数据,enter结束输入:\n");
        gets(a);     /*输入数据*/
        n=strlen(a);
        px(a,n);    /*排序*/
        puts(a);
        for(i=0;i<n;++i)
        {
                k=0;
                for(j=i;j<n;++j)
                        if(i!=j&&a[i]==a[j])  /*当遇到相同数据时*/
                        {
                                ++i;
                                ++k;
                        }
                if(k>0)                /*当k值大于0,说明有相同数据,并输出*/
                        printf("\n共有%d个相同的%c.\n",k+1,a[i]);
        }
        if(k==0)     /* 当k值为0时,说明没有相同数据。*/
                printf("没有相同的数据.\n");

        system("pause");
        return 0;
}
.................................................................
请问在   以上程序  一个数组中无论存在多少个相同的元素 它都可以 判断出?

<接受者>? or <创造者>?
2008-05-04 22:10
快速回复:求 算法
数据加载中...
 
   



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

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