编译通过了,但是运行不起来。求大侠帮忙!!!小生感谢不尽

pangpi814961437 2009-03-17 09:49:39
程序的内容是在一个顺序表中删除第i个元素的k个元素!下面是编的程序。编译通过了,但是运行不起来
!请高手帮忙看看
#include<iostream.h>
const int n0=100;
#define OK 1
typedef int DataType;
typedef int status;
typedef struct arrangelist
{
int p[n0+1];
int length;


}arrange;
status shanchu(arrange &l,int i,int k)
{
for(int j = 0;j < 20;++j)
l.p[j] = j+1;

for(int x = i+k;x <= l.length; ++x)
{
l.p[i] = l.p[i+k-1];

}
l.length = l.length-k;
for( j = 0;j < l.length;++j)
cout<<l.p[j];
return OK;


}
void mian()
{
arrange dui;
shanchu(dui,6,3);

}
...全文
132 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
pangpi814961437 2009-03-18
  • 打赏
  • 举报
回复
谢谢,那个主函数是笔误,让大家笑话了.呵呵!!
pangpi814961437 2009-03-18
  • 打赏
  • 举报
回复
呵呵,不要意思,笔误笔误!!
nyeboy123 2009-03-18
  • 打赏
  • 举报
回复
for(int j = 0;j < 20;++j) 
l.p[j] = j+1;

for(int x = i+k;x <= l.length; ++x)
{
l.p[i] = l.p[i+k-1]; //这是赋值,不是删除,l的长度咋会减少啊

}
l.length = l.length-k;
ysysbaobei 2009-03-18
  • 打赏
  • 举报
回复
ztenv 版主 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hairetz 的回复:]
void mian()

晕,这样也可以编译过?
[/Quote]

应该可以通过的,编译器会当成一个全局的函数来处理的,如果程序是这样的写的,肯定是缺少主函数引起的;
sjhui19840325 2009-03-17
  • 打赏
  • 举报
回复
又晚了一步.....
我就在这里找了半天错误,在设置里左改右改 ,lz太天才了,怎么能把main写错呢???

[Quote=引用 1 楼 hairetz 的回复:]
void mian()

晕,这样也可以编译过?
[/Quote]
sjhui19840325 2009-03-17
  • 打赏
  • 举报
回复

#include<iostream>
using std::cout;
using std::endl;

#define OK 1

const int n0=100;
typedef int status;

typedef struct arrangelist
{
int p[n0+1];
int length;
} arrange;

status shanchu(arrange &l,int i,int k)
{
for(int j = 0;j < 20;++j) //??你为什么要在这里初始化呢?、
l.p[j] = j+1;
l.length = 20; // 结构体里的变量赋值

for(int x = i;x <= k; ++x) //你是不是想从第i各元素开始的k个元素删除??
{
l.p[i] = l.p[i+k-1];
}

l.length = l.length-k;
for( j = 0;j < l.length;++j)
cout<<l.p[j]<<"--";
return OK;
}

void main() //lz你的main写错了
{
arrange* dui = new arrange;

shanchu(*dui,6,3);

}
qq675927952 2009-03-17
  • 打赏
  • 举报
回复


#include <iostream>
#define OK 1
using namespace std;
const int n0=100;
typedef int DataType;
typedef int status;
typedef struct arrangelist
{
int p[n0+1];
int length;

}arrange;
status shanchu(arrange &l,int i,int k)
{
for(int j = 0;j < 20;++j)
l.p[j] = j+1;
l.length=20; //要加上这句
for(int x = i+k;x <= l.length; ++x)
{
// l.p[i] = l.p[i+k-1]; //你这句好像有问题吧
l.p[x-k] = l.p[x];
}
l.length = l.length-k;
for(int j = 0;j < l.length;++j)
cout <<l.p[j]<<" ";
return OK;
}
int main() //你的主函数 写错了,你写成了mian 当然找不到入口地址了
{
arrange dui;
shanchu(dui,6,3);
system("pause");
return 0;
}




pengzhixi 2009-03-17
  • 打赏
  • 举报
回复
void mian()
这也能编译通过?开玩笑吧
  • 打赏
  • 举报
回复
int p[n0+1];
int length;

这些数据都没有初始化,你的删除操作肯定不能通过啊。
status shanchu(arrange &l,int i,int k)
{
for(int j = 0;j < 20;++j)
l.p[j] = j+1;

for(int x = i+k;x <= l.length; ++x) //你把l.length打印出来看看,都没初始化的。
{
l.p[i] = l.p[i+k-1];

}
l.length = l.length-k;
for( j = 0;j < l.length;++j)
cout < <l.p[j];
return OK;


}
sherrik 2009-03-17
  • 打赏
  • 举报
回复
当笔误吧。。
[Quote=引用 1 楼 hairetz 的回复:]
void mian()

晕,这样也可以编译过?
[/Quote]
  • 打赏
  • 举报
回复
void mian()

晕,这样也可以编译过?

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧