| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 583 人关注过本帖
标题:[求助]我的程序错误找不到2
只看楼主 加入收藏
shumyun
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-26
收藏
 问题点数:0 回复次数:5 
[求助]我的程序错误找不到2
//头文件
#include <iostream.h>
struct LNode
{
LNode()
{
next=NULL;
i=1;
m='\0';
}
char m;
int i;
struct LNode * next;
};
int Incompare(char c,LNode * head)
{
LNode *p=head;
while(p)
{
if(c==p->m)
{
p->i++;
return 0;
}
else
p=p->next;
}
return 1;
}
LNode * Pop(char a[],LNode *head)
{
LNode * p=NULL;
for(int i=0;i<10;i++)
if(Incompare(a[i],head)==1)
{
p=head;
while(p)
p=p->next;
p=new LNode();
p->m=a[i];
}
return head;
}
void Display(LNode * head)
{
LNode * p=head;
while(p)
{
cout<<"字符:"<<p->m<<" 个数:"<<p->i<<endl;
p=p->next;
}
}
//主函数
#include "a.h"
#include <iostream.h>
#include <stdio.h>
void main()
{
char * elem=new char[10];
cin>>elem;
LNode *head=new LNode();
Pop(elem,head);
Display(head);
}
错误也找不到.
搜索更多相关主题的帖子: 程序错误 LNode next int head 
2006-10-22 12:07
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
得分:0 
你的程序有那么多个new,怎么一个delete也没见着

2006-10-22 12:48
shumyun
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-26
收藏
得分:0 

最后没释放.我要的是做一个输入进去的不同字符和其个数


2006-10-22 13:41
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
得分:0 

我今天写了个,不过没注意对变量的控制,花了不少时间
你 的那个写的像是C了,所以就没给你仔细看
[CODE]
#include <iostream>
using namespace std;
class Chain;
class ChainNode
{
friend Chain;
char data;
int i;
ChainNode * link;
};
class Chain
{
int num;
ChainNode *first;
public:
Chain() { first = 0;num = 0;}
~Chain();
bool Find(const char c) ;
void Insert(const char c);
void Output() const;
};
Chain::~Chain()
{
ChainNode *p = first;
while(first)
{
p = first->link;
delete first;
first = p;
}
}
bool Chain::Find(const char c)
{
ChainNode *p;
for(p=first;p;p=p->link)
if(p->data == c)
{
p->i += 1;
return true;
}
return false;
}
void Chain::Insert(const char c)
{
if(!Find(c))
{
ChainNode *p = new ChainNode;
num++;
p->data = c;
p->i = 1;
p->link = 0;
if(first == 0)
first = p;
else
{
ChainNode * q = first;
for(int i = 1;i < num-1;i++)
q = q->link;
q->link = p;
}
}
}
void Chain::Output() const
{
ChainNode * p = first;
while(p)
{
cout<<p->data<<" "<<p->i<<endl;
p = p->link;
}
}
int main()
{
Chain can;
char str[] = {'a','c','i','a','d','f','c','a'};
for(int i = 0;i < sizeof(str)/sizeof(char);i++)
can.Insert(str[i]);
can.Output();
return 0;
}
[/CODE]


2006-10-22 20:32
shumyun
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-26
收藏
得分:0 

谢谢了.我去年学的是C++的书,这个学期学的C语言的数据结构,所以都乱了.


2006-10-22 22:02
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 

做指针的时候一定要注意内寸的划分与释放,内存这个是很多程序出错的原因


樹欲靜而風不止... http://blog./seablue_xj
2006-10-23 11:03
快速回复:[求助]我的程序错误找不到2
数据加载中...
 
   



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

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