| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 427 人关注过本帖
标题:为什么这段代码会出现这个错误
取消只看楼主 加入收藏
newCpp
Rank: 5Rank: 5
来 自:火星
等 级:职业侠客
威 望:3
帖 子:256
专家分:375
注 册:2009-8-17
结帖率:97.83%
收藏
已结贴  问题点数:20 回复次数:1 
为什么这段代码会出现这个错误
程序代码:
#include <ctime>
#include <iostream>

using namespace std;

/*--------判断重复数值和输出重复数值个数------*/
void filter(int *p,int count,int &succeed1); 

/*--------从小到大地输出数值------*/
void taxis(int *p,int count,int succeed1);


int main(int argc, char* argv[])
{
int count; //个数
int incept; //接收
int succeed1=0; //判断重复的个数 

cin>>count;

srand((unsigned)time(NULL));
int *p=new int[count];
for(int i=0;i<count;i++)
{
incept=rand()%100;
p[i]=incept;
}

for(int z=0;z<count;z++)
{
if(z%10==0&&z>0)
{
cout<<endl;
}
cout<<p[z]<<" ";
}

filter(p,count,succeed1);
taxis(p,count,succeed1);

delete [] p;
return 0;
}

void filter(int *p,int count,int &succeed1)
{

int *p2=new int[count];

for(int hh=0;hh<count;hh++)
{
p2[hh]=0;
}

for(int i=0;i<count;i++)
{
for(int j=0;j<count;j++)
{
p2[p[i]]++;
}
}
for(int j=0;j<count;j++)
{

if(p2[j]>1) // 等于100,说明是重复的
succeed1++;
}
delete[] p2;
}

void taxis(int *p,int count,int succeed1)
{
int temporary;

cout << endl << "------------------>" << succeed1 << endl;

for(int i=0;i<count;i++)
{
for(int j=0;j<count;j++)
{
if(p[i]<p[j])
{
temporary=p[i];
p[i]=p[j];
p[j]=temporary;
}
}
}
for(int z=0;z<count;z++)
{
if(z%10==0&&z>0)
{
cout<<endl;
}
cout<<p[z]<<" ";
}
cout<<endl;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

输入10的时候就会出现这玩意,这个是怎么回事导致的?
搜索更多相关主题的帖子: 代码 
2009-10-23 09:30
newCpp
Rank: 5Rank: 5
来 自:火星
等 级:职业侠客
威 望:3
帖 子:256
专家分:375
注 册:2009-8-17
收藏
得分:0 
晕,我怎么没看出来p2的长度是多少的啊?
int *p2=new int[count];这样不应该同p的长度是一样的吗?
晕~~

编程语言视频教程在线播放学习
2009-10-23 10:33
快速回复:为什么这段代码会出现这个错误
数据加载中...
 
   



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

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