c++ 内存问题 找了好久都不知道呢错了

问题描述

c++ 内存问题 找了好久都不知道呢错了
#include<iostream>

using namespace std;

struct Node
{
float coef;//系数
int expn;//指数
Node* next;
};

class Ploy
{
public:
Ploy();
~Ploy();
void CreatePloy(int n);
void DispPloy();
void PloyAdd(Ploy b);
Node* GetNode()
{
return head;
}
int compare(const Node *p1,const Node *p2)
{
if(p1->expn < p2->expn)//小于
return -1;
else if(p1->expn == p2->expn)//等于
return 0;
else //大于
return 1;
}
private:
Node *head;

};

Ploy::Ploy()
{
head = new Node;
head->next = NULL;
}
Ploy::~Ploy()
{
Node *p;

while(head)
{
    p = head;
    head  = head->next;
    delete p;
}
head = NULL;
cout<<"xigou is running"<<endl;

}

void Ploy::CreatePloy(int n)
{
int i=1;
Node *p,*s;
p = head;
for (i;i<=n;i++)
{
cout<<"请输入第"<<i<<"项(系数,指数);";
s = new Node;

    cin>>s->coef;
    cin>>s->expn;
    s->next = p->next;
    p->next = s;
    p = s;
}

}

void Ploy::DispPloy()
{
Node p;
p = head;
while(p->next != NULL)
{
p = p->next;
cout<coef<<"
"<<"x"<<"^"<expn<<"+";
}
cout<<endl;
}

void Ploy::PloyAdd(Ploy p_b)
{
Node *pa,*pb,*psum;
Ploy p_sum;
pb = p_b.GetNode()->next;
pa = head->next;
psum = p_sum.GetNode();
//psum->next = head->next;
int sum;

while(pa && pb)
{
    switch(compare(pa,pb))
    {
    case  -1:psum->next = pa;
             psum = pa;
             pa = pa->next;
             break;
    case 0: sum  = pa->coef + pb->coef;
            pa->coef = sum;
            psum->next = pa;
            psum = pa;
            pa = pa->next;

            pb = pb->next;

            break;
    case 1:psum->next = pb;
           psum = pb;
           pb = pb->next;
           break;
    }

}
psum->next = pa?pa:pb;
p_sum.DispPloy();

}

int main()
{
Ploy p1,p2;
p1.CreatePloy(5);
p1.DispPloy();
p2.CreatePloy(5);
p2.DispPloy();
p1.PloyAdd(p2);
p1.DispPloy();
return 0;

}
这个是实现多项式加法的 但不知道呢出错了 希望各位前辈帮忙看看 报的_block_type_is_valid

时间: 2024-11-11 12:04:50

c++ 内存问题 找了好久都不知道呢错了的相关文章

struts2.0-我写了一个简单的struts2登录验证但是不能跳转,找了好久也不知道为什么,请大神帮忙看一下,先谢了

问题描述 我写了一个简单的struts2登录验证但是不能跳转,找了好久也不知道为什么,请大神帮忙看一下,先谢了 解决方案 SUBMITE提交呢? 解决方案二: 解决方案三: 调试下Action方法进入了吗?

麻烦大神帮忙看一下,找了半天也不知道哪里错了,非常感谢

问题描述 麻烦大神帮忙看一下,找了半天也不知道哪里错了,非常感谢 void sort(array,n) int array[]; int n; { int i,j,k,t; for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(array[j]<array[k]) k=j; t=array[k]; array[k]=array[k]; array[i]=t; }} main() { int a[10],i; printf("enter t

vs2012-我的C程序VS2013报错,都不知道错哪了,请大神指教

问题描述 我的C程序VS2013报错,都不知道错哪了,请大神指教 hash函数名和数组next都定义了,都不知道哪错了 解决方案 感觉是标准库的某些内容重复了. std::next是里的template, std::hash是里的template. 都是c++ 11定义的. 解决方案二: 自己重新定义一下名字,这几个名字已经在类库中存在了 解决方案三: 你的定义重复了,如果你的代码没有重复定义它们,可能是和你包含的库文件冲突了,那么换个名字看看 解决方案四: hash和next重复定义了. 你可

win32 滚动条的问题 不知道哪里的问题。 找了好久了。@求大婶@

问题描述 win32 滚动条的问题 不知道哪里的问题. 找了好久了.@求大婶@ 请问 为什么往下翻页 没问题 往上翻译 文字就只显示一半@ #include "stdafx.h" #include "demo.h" #define MAX_LOADSTRING 100 #define MY_LINE 100 HINSTANCE hInst; // TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 TCHAR szWindowClass[

简单的函数调用失败 ,我都不知道我可以这么蠢。。Help!!

问题描述 简单的函数调用失败 ,我都不知道我可以这么蠢..Help!! Wrong:unsigned long long recursion_factorials(int num){ long long unsigned ret=1; if(num>1) ret =num*recursion_factorials(num--); return ret;} 我在main 函数里面调用这个递归函数,没有报错,用printf()也没有输出结果 改了倒数第二行代码: 改成 ret=num*recursi

必读推荐- 90%的面试者都不知道这道题的答案

亲爱的DBA同胞们,你们是否记得在你找工作时,印象最深刻的面试题呢?那些看似简单的题目,实则蕴藏很大的玄机.今天我们通过一道经典的 ORacle DBA面试题目,去发现我们在面试中,到底还缺少那些能力? 这道题看起来很简单,然而,90%的面试者都不知道答案... 面试题描述: 对于一个NUMBER(1)的列,查询中的WHERE条件如果分别是大于3和大于等于4,二者是否等价. 乍一看,这个问题并不难.请读者朋友们在继续读下文之前,用30秒的时间思考. 接下来我们通过杨长老的博客,来说明面试者在这道

帮我看看这段ajax有什么问题,我看了很多遍,打死都不知道什么问题?

问题描述 帮我看看这段ajax有什么问题,我看了很多遍,打死都不知道什么问题? 1原代码: echo"<li><a href='javascript:void(0);' id='newjh'>提交</a></li>"; jquery代码: $("#newjh").click(function(){ user=$("#user").val();eml=$("#eml").val()

求救,找了好久js在vs运行没问题,去到IIS就获取不到

问题描述 求救,找了好久js在vs运行没问题,去到IIS就获取不到<scripttype="text/javascript">$(function(){$('#imgFile1').change(function(){varfile=this.files[0];//选择上传的文件varr=newFileReader();r.readAsDataURL(file);//Base64$(r).load(function(){$('.imgdiv').html('<imgH

JavaScript报未结束的字符串常量,找了好久还是没找到问题所在!求教各位高手

问题描述 JavaScript报未结束的字符串常量,找了好久还是没找到问题所在!求教各位高手 问题补充:非常感谢各位不吝赐教,结果是传入的字符串中有个',比如是这样的'啦啦啦啦啦啦哈'哈'哈'结果就先结束掉了,解决的方法就是用encodeURIComponent(title)进行转义一下 解决方案 有没有可能是字符串中包含回车换行之类的字符,检查下出问题地方相关的字符串值试试解决方案二:这种基本是上因为包含回车多数可能是从后台传个字符串,但这个字符串中包含回车导致解决方案三:http://wen