| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1565 人关注过本帖
标题:删除数组中重复数据
只看楼主 加入收藏
tszhao
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-3-4
收藏
 问题点数:0 回复次数:1 
删除数组中重复数据
我的程序是这样的,但是最后运行的时候有错误,该怎么改啊?
#include <iostream>
using namespace std;
int main()
{
    int a[50];
    void del(int *p);
    int i;
    for(i=0;i!=50;++i)
    {
        a[i]=rand()%40+1;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    del(a);
    for(i=0;;++i)
    {
        cout<<a[i]<<" ";
        if(a[i]='\0')
        {
            cout<<endl;
            return 0;
        }
    }
}
void del(int *p)
{
    int a[50];
    for(int i=0;i!=50;++i)
        a[i]=*(p+i);
    int i,j;
    for(i=0;a[i]!='\0';i++)
    {
        int ix(i+1),iy(i+1);
        while(*(p+iy)!='\0')
        {    
            if(*(p+iy)==a[i])
                iy++;
            a[ix++]=*(p+iy++);
        }
        for(i=0;i!=sizeof(a)/sizeof(int);++i)
            *(p+i)=a[i];
    }
}
搜索更多相关主题的帖子: int 数据 cout del void 
2008-03-15 17:05
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
1.随机数生成通常使用时间做种子。包含time.h头文件
srand((unsigned)time( NULL ));
否则每次使用rand()生成的随机数都是相同的。
2.'\0'字符被隐性转换后赋值给一个int[]的元素是可以的,可是int[]不是char[],'\0'的出现没有优势可言。用数字0作为被删除元素的替代品反倒适当一些。
3.del()函数内部的a[]没必要定义。

一家之言
2008-03-15 19:16
快速回复:删除数组中重复数据
数据加载中...
 
   



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

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