标题:帮我看看那错了 谢谢
只看楼主
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
得分:0 
那的程序里math.h头文件多余

加上 给数组赋值的语句
for(int t=0;t<n;i++)
cin>>p[t];

并把delete p; 改为delete [] p;

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2005-12-13 17:35
紫叶傲雪
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-12-4
得分:0 
我怎么还是运行不出结果啊

2005-12-13 18:05
ElfDN
Rank: 4
等 级:贵宾
威 望:11
帖 子:291
专家分:0
注 册:2005-11-13
得分:0 

C++里面用vector,本身就是动态的,添加的方法是
#include<vector>
using namespace std;
int main(){
vector<int> p;
int n;
cin>>n;
p.push_back(n);
}


2005-12-14 09:38
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
得分:0 

楼主的程序好象不怎么对,没有数组的输入,而且排序那里也有问题,分配内存时要用[]不是(),还有撤消动态数组时别忘了加[]。。我稍微改了下。。
#include <iostream.h>
void order(int *p,int n)

{
int temp;
for (int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if (*(p+i)<=*(p+j))
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
cout<<"排序后为:";
for (int b=0;b<n;b++)
cout<<p[b]<<endl;
}
void main()
{ int n;
cin>>n;
int *p=new int[n];
for(int i=0;i<n;i++){
cout<<"p["<<i<<"]=";
cin>>p[i];
}
order(p,n);
delete []p;
}

[此贴子已经被作者于2005-12-14 11:22:47编辑过]


2005-12-14 10:48
紫叶傲雪
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-12-4
得分:0 
现在好了,可以运行出结果了,谢谢大家了。

2005-12-14 15:48



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




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

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