| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2080 人关注过本帖
标题:【求助】大家来帮帮我,明天交作业了【自己把问题解决掉了!!汗!!都没有 ...
取消只看楼主 加入收藏
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
 问题点数:0 回复次数:5 
【求助】大家来帮帮我,明天交作业了【自己把问题解决掉了!!汗!!都没有人帮帮忙的!!】
大伙帮我看看,今天早上还可以运行的,怎么现在又不行了? 我用的是vc++6.0,大家帮我调试一下,看看问题出在那里,我改了几遍,现在都被指针指晕了!
#include<iostream.h>
#include<string.h>
#define NULL 0
struct stu
{
    int no;
    char name[9];
    int en;
    struct stu *next;
}a={123,"zc",89,NULL},
 b={124,"df",89,NULL},
 c={1568,"gg",89,NULL},
 d={1568,"gg",89,NULL},
 e={1569,"hh",89,NULL},
 f={1670,"kk",89,NULL},*p;
void unite(stu &a,stu &d)
{//合并链表
    struct stu *p;
    p=&a;
    while(p->next!=NULL)
    {
        p=p->next;
    }
    p->next=&d;
}
void del_again(stu a)
{
    struct stu *p,*p1,*p2,*p3;
    //int i=0,j=0;
    p1=p2=&a;
    p=a.next;

    if(p1==NULL)
    {
        cout<<"空表!!";
    }
    while(p1)
    {
        while(p)
        {
           if(p1->no==p->no&&!(strcmp(p1->name,p->name))&&p1->en==p->en)
           {
               p3=p;
               p2->next=p->next;
               p=p->next;
               //delete p3;
           }
           else
           {
           p2=p2->next;
           p=p->next;
           }
        }
        p1=p2=p1->next;
        p=p2->next;
        //i++;
    }    
}

void printstu(stu a)
{
    stu *p;
    p=&a;
    if(p==NULL) //若为空表
    {
        cout<<"空表!";
    }
    //构造建议表格
    cout<<"no\t"; //表格开始
    cout<<"name\t";
    //cout<<"m\t";
    cout<<"en"<<endl;
    cout<<"--------------------------"<<endl;
    while(p) //循环输出链表的信息
    {
    
        cout<<p->no<<"\t";
        cout<<p->name<<"\t";
        //cout<<p->m<<"\t";
        cout<<p->en<<endl;
        p=p->next;
    }
    cout<<"--------------------------"<<endl; //表格结束
}

void main()
{
    //struct stu a,b,c,d,e,f,*p;
    
    //构造链表A(a,b,c)
    p=&a;
    p->next=&b;
    p=p->next;
    p->next=&c;
    
    //构造链表B(d,e,f)
    p=&d;
    p->next=&e;
    p=p->next;
    p->next=&f;

    //调用组合链表函数
    unite(a,d);
    //输出函数
    printstu(a);
    //去重
    del_again(a);
    cout<<"去重后的结果为:"<<endl;
    printstu(a);
}

[[it] 本帖最后由 J_j 于 2008-10-9 21:18 编辑 [/it]]
搜索更多相关主题的帖子: 作业 
2008-10-09 19:48
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
回复 2# inyou 的帖子
没有办法···课业忙啊,今天遇见了一个问题,都没人帮我的,还好,回家翻了翻书,换了个算法,问问了高手,还是把问题解决了。。。。
2008-10-09 21:15
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
回复 5# StarWing83 的帖子
不是吧··说这话的居然是版主!!!狂汗!! ·看来静老大得好好整顿整顿·帮助别人是一种美德!得有耐心··你还是版主波!!即使我的代码贴的再乱,大家选你当版主,是希望你为大家服务,这“懒得看”你也配说!!

[[it] 本帖最后由 J_j 于 2008-10-9 22:45 编辑 [/it]]
2008-10-09 22:42
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
[bo][un]woshiyun[/un] 在 2008-10-9 21:55 的发言:[/bo]

别急,把这一行改了试试吧。

    while(p1)   -----------------------》》》》while(p1&&p)
    {
        while(p)
        {
           if(p1->no==p->no&&!(strcmp(p1->name,p->name))&&p1->en==p->en)
 ...

不好意思,忘记感谢了,虽然问题解决了,但还是要谢谢你~~
2008-10-09 23:11
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
``````这么说,当版主当高手还真不是件容易的事......我以后贴代码的时候会注意的
2008-10-10 12:24
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
回复 20# yuezhuying 的帖子
void main()
 有错?请明示
  还有,这个程序用到一点c++的东西,完全是为了方便~~
2008-10-11 11:41
快速回复:【求助】大家来帮帮我,明天交作业了【自己把问题解决掉了!!汗!!都 ...
数据加载中...
 
   



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

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