| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 572 人关注过本帖
标题:请真正的高手帮忙 !
只看楼主 加入收藏
Fudan_Men
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-14
收藏
 问题点数:0 回复次数:2 
请真正的高手帮忙 !

以下是 我的程序 ,建立文件时没有错,执行时出现难以调试的bug!而且我自己定义的显示函数也不能见内部成员数组成功输出! 错误显示请看上传图片.在这里先谢谢 大家了^_^ //SeqList.h #ifndef SEQLIST_H #define SEQLIST_H template <class Type> class SeqList { public: SeqList(Type* Array); SeqList(int MaxSize=defaultSize); ~SeqList(){delete [] data;} int Length() const{return last+1;} int Find(Type& x)const; int IsIn(Type& x); int Insert(Type& x,int i); int Remove(Type &x); int Next(Type& x); int Prior(Type& x); int IsEmpty(){return last==-1;} int IsFull(){return last==MaxSize-1;} Type Get(int i){return i<0||i>last?NULL:data[i];} void Display(); void DeleteSame(); void DeleteSmall(); void Delete(Type& x); private: Type* data; int MaxSize; int last; }; #endif //SeqList.cpp #include <iostream> #include "SeqList.h" using namespace std; #define MAX 20 template <class Type> SeqList<Type>::SeqList(Type* Array):MaxSize(sizeof(Array)/sizeof (Type)),last(MaxSize-1) { data=new Type[MaxSize]; for(int i=0;i<MaxSize;i++) data[i]=Array[i]; } template <class Type> SeqList<Type>::SeqList(int sz) { if(sz>0) { MaxSize=sz; last=-1; data=new Type[MaxSize]; } } template <class Type> int SeqList<Type>::Find(Type& x) const { int i=0; while(i<=last&&data[i]!=x) i++; if(i>last) return -1; else return i; } template <class Type> int SeqList<Type>::IsIn(Type& x) { int i=0,found=0; while(i<=last&&!found) if(dta[i]!=x) i++; else found=1; return found; } template <class Type> int SeqList<Type>::Insert(Type& x,int i) { if(i<0||i>last+1||last==MaxSize-1) return 0; else { last++; for(int j=last;j>i;j--) data[j]=data[j-1]; data[i]=x; return 1; } } template <class Type> int SeqList<Type>::Remove(Type& x) { int i=Find(x); if(i>=0) { last--; for(int j=i;j<=last;j++) data[j]=data[j+1]; data[i]=x; return 1; } else return 0; } template <class Type> int SeqList<Type>::Next(Type& x) { int i=Find(x); if(i>=0&&i<last) return i+1; else return -1; } template <class Type> int SeqList<Type>::Prior(Type& x) { int i=Find(x); if(i>0&&i<=last) return i-1; else return -1; } template <class Type> void SeqList<Type>::Display() { for(int i=0;i<MaxSize;i++) if(i%10==0) cout<<data[i]<<' '; cout<<endl; } template <class Type> void SeqList<Type>::DeleteSame() { int i,k; for(k=0;k<MAX-1;k++) for(i=k+1;i<MAX;i++) if(data[i]==data[k]) { for(int j=i;j<MAX-1;j++) data[j]=data[j+1]; MaxSize--; } } template <class Type> void SeqList<Type>::DeleteSmall() { Type temp=data[0]; int i=0; int k=0; for(i=1;i<MaxSize;i++) if(temp>data[i]) { temp=data[i]; k=i; } data[k]=data[MaxSize-1]; } template <class Type> void SeqList<Type>::Delete(Type& x) { for(int i=0;i<MaxSize;i++) if(data[i]==x) { Remove(x); MaxSize--; } } //drives.cpp #include <iostream> #include <cstdlib> #include "SeqList.h" #include "SeqList.cpp" using namespace std; #define MAX 20 int main() { int i; int Array[MAX]; for(i=0;i<MAX;i++) { Array[i]=rand()%20; cout<<Array[i]<<' '; } cout<<endl; SeqList <int> list1(Array); cout<<"Before being changed ,the list's data[] is:"<<endl; list1.Display(); int x; cout<<"Enter the 'x' you want to delete:"; cin>>x; list1.Delete(x); cout<<"After delete the same data ,the list is:"<<endl; list1.Display(); SeqList <int> list3(Array); list3.DeleteSame(); list3.Display(); cout<<"After delete the smallest data,the list is:"<<endl; SeqList <int> list2(Array); list2.DeleteSmall(); list2.Display(); return 0; }

搜索更多相关主题的帖子: public return 图片 而且 
2005-09-28 14:07
Fudan_Men
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-14
收藏
得分:0 
就没有一个真正的高手替我看一下?汉……
2005-10-01 00:02
realoneyjw
Rank: 1
等 级:新手上路
帖 子:99
专家分:0
注 册:2005-5-13
收藏
得分:0 
好长的代码啊,看完就需要很就啊

我一直告诫自己:要做一个踏实认真的人 E-mail:realoneyjw@ qq:18238423
2005-10-01 16:24
快速回复:请真正的高手帮忙 !
数据加载中...
 
   



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

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