标题:这是一个迷宫求解的部分程序,运行后老是有错误,请诸位帮忙看看,改正一下 ...
只看楼主
相思豆
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2016-10-25
结帖率:50%
已结贴  问题点数:10 回复次数:2 
这是一个迷宫求解的部分程序,运行后老是有错误,请诸位帮忙看看,改正一下!
E:\新建文件夹\cfc.cpp(40) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'struct lnode *' (or there is no acceptable conversion)
上面是运行后出现的错误,下面是代码。
#include"stdio.h"
#include"malloc.h"
#define m 8
#define n 10
typedef struct
{

int x;
int y;
int d;
}elemtype;
typedef struct
{
int x;
int y;
}item;
typedef struct lnode
{

elemtype data;
struct lnode *next;

}seqstack;
int  Empty_seqstack (seqstack& s )
{
if(s==NULL)
return 1;
else
return 0;


}

int push_seqstack (seqstack &s, elemtype& temp )
{
seqstack *p;
p=(seqstack*)malloc(sizeof(seqstack));
p->data=temp;
p->next=s;
s=p;
return 1;
}
int  pop_seqstack (seqstack &s, elemtype& temp )
{
seqstack *q;
if(Empty_seqstack(s))
return 0;
else
q=s;
temp=q->data;
s=q->next;
free(q);
return 1;
}


int  path(int maze[m][n], item move[4])
{ seqstack  s ;
 elemtype  temp ;
 int  x, y, d, i, j ;  
 temp.x=1;  temp.y=1;
 temp.d=-1;
 push_seqstack (s,temp);
 while (! Empty_seqstack (s ) )
  {
 pop_seqstack (s,temp) ;
 x=temp.x ;  
 y=temp.y ;
 d=temp.d+1 ;
 while  (d<4)
 {  i=x+move[d].x ;  
 j=y+move[d].y ;
 if  ( maze[i][j]==0 )
 {
temp.x=x;
temp.y=y;
temp.d=d;
 push_seqstack ( s, temp ) ;
 x=i;
 y=j;
 maze[x][y]= -1 ;
 if  (x==m&&y==n)  
return 1;
 else
     d=0 ;
 }
 else
     d++ ;
 }
 }  
 return  0;
 }
int main()
{
seqstack s;
int i,j,k;
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("迷宫与栈问题");
int maze[m][n]={
1,1,1,1,1,1,1,1,1,1,
1,0,0,1,1,1,1,1,1,1,
1,1,0,1,0,1,1,1,1,1,
1,1,0,0,0,0,0,0,1,1,
1,0,1,1,1,0,1,1,1,1,
1,1,0,0,1,0,0,0,0,1,
1,0,1,1,0,1,1,1,0,1,
1,1,1,1,1,1,1,1,1,1,
};
item move[4]={{1,0},{0,1},{-1,0},{0,-1}};
path(maze,move);
return 0;


}













搜索更多相关主题的帖子: conversion 新建文件夹 include return 
2016-10-26 15:18
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:10 
https://bbs.bccn.net/thread-470213-1-1.html几乎完全雷同的代码,你们都是^C+^P的吗?
迷宫为什么非要用栈?我一般会用数组加递归解决。
2016-10-27 08:54
相思豆
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2016-10-25
得分:0 
回复 2楼 xzlxzlxzl
因为刚学到栈这部分,所以想用栈来写写看。
2016-10-27 09:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-470288-1-1.html




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

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