| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1130 人关注过本帖
标题:c++程序分析
只看楼主 加入收藏
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:11 
c++程序分析
我刚学c++不久,还不怎么会编程序。我编的程序自己看着没啥问题,好像可以执行,但是,等一编译之后,电脑出现的要么是几个我看不懂得错误提示,要么就是进入了死循环。求助大家帮帮忙!!!!下面是我编的成序,请大家帮忙分析一下愿因.谢谢啊!
#include <iostream>
using namespace std;
const int Maxsize=10;
class Seqlist
{
public:
       Seqlist()
    {
          length=0;
       }
       Seqlist(int a[],int n);//有参构造函数
    void insert(int i,int x);//在现行表中第i个位置插入值为x的元素
    int Delete(int i);//删除现行表的第i个元素
    int locate(int x);//按值查找,求现行表中值为x的元素序号
    void printlist()// 遍历现行表,按序号依次输出 各元素
    {
     for(int i=0;i<length;i++)cout<<data[i];
    }
private:
       int data[Maxsize];
       int length;
};
Seqlist::Seqlist(int a[],int n)
{
 if(n>Maxsize)cout<<"参数非法!";
    for(int i=0;i<n;i++)
       data[i]=a[i];
    length=n;
}
void Seqlist::insert(int i,int x)
{
    if(length>=Maxsize) cout<<"上溢!";
    if(i<0||i>length+1)cout<<"位置";
    for(int j=length;j>=i;j--)
  
    data[i-1]=x;
    length++;
}
int Seqlist::Delete(int i)
{
     if(length==0)cout<<"下溢";
     if(i<1||i>length)cout<<"位置";
         int x=data[i-1];
     for(int j=i;j<length;j++)
        data[j]=data[j-1];
     length--;
     return x;
}
int Seqlist::locate(int x)
{
     for(int i=0;i<length;i++)
       if(data[i]==x)return i+1;
     return 0;
}
int main()
{
    int w[]={1,2,3,4,5,6,7},n=sizeof(w),y=100,j;
    Seqlist p ;
 Seqlist(w,n);
    p.insert(4,y);
    for( j=0;j<n+1;j++)
      cout<<w[j];
    p.Delete(5);
    for( j=0;j<n-1;j++)
      cout<<w[j];
    cout<<"k="<<p.locate(3);
    p.printlist();
 return 0;
}        
搜索更多相关主题的帖子: 程序分析 
2010-04-03 21:09
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:5 
printlist()在哪里???我怎么没有看到、、、、

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-04-03 21:54
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:2 
debug 跟踪

java群
62635216
欢迎加入
2010-04-03 22:04
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
回复 2楼 ltyjyufo
在class里定义的
2010-04-03 22:09
yyblackyy
Rank: 6Rank: 6
等 级:侠之大者
帖 子:98
专家分:457
注 册:2010-3-31
收藏
得分:8 
楼主的错误不小啊,我的机子调试出一堆数据。。。。。。。
没有调用的就不说了,呵呵~~~~~~
n=sizeof(w)这里求出的是他的数组空间大小不是数组元素个数,应该写出 sizeof(w)/sizeof(int) 这才是元素的个数
    Seqlist p ;
Seqlist(w,n);
构造函数系统会自动调用的 应写出 Seqlist p(w,n);
void Seqlist::insert(int i,int x) 这个函数有为题,不是插入函数
int Seqlist::Delete(int i) 第i个元素他的下标应是i-1 LZ这个错误犯了很多遍 前后数据覆盖方向错误,最后的收尾工作没有
其他没有调用的函数有类似的错误就不讲了~~



[ 本帖最后由 yyblackyy 于 2010-4-3 22:52 编辑 ]
2010-04-03 22:51
编是非
Rank: 1
来 自: 桂林
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-4
收藏
得分:0 
真的有点麻烦

我向来很向强
2010-04-04 00:17
夜半無聊
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2009-11-5
收藏
得分:3 
回复 楼主 MyStar
  void printlist()// 遍历现行表,按序号依次输出 各元素
    {
     for(int i=0;i<length;i++)cout<<data[i];
    }


註釋不規範而已
2010-04-04 01:26
夜半無聊
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2009-11-5
收藏
得分:2 
回复 2楼 ltyjyufo
  void printlist()// 遍历现行表,按序号依次输出 各元素
    {
     for(int i=0;i<length;i++)cout<<data[i];
    }
註釋不規範而已  應該是找得到的
2010-04-04 01:27
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
回复 5楼 yyblackyy
呵呵...俺的手太低了。能帮俺调试出来吗?谢谢啊!!!
2010-04-04 08:29
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
回复 3楼 pywepe
什么意思啊?我不知道这种方法,就您再说的详细的!谢谢!
2010-04-04 08:31
快速回复:c++程序分析
数据加载中...
 
   



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

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