| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 421 人关注过本帖
标题:这个程序为什么不能运行???哪个高手知道!!!
只看楼主 加入收藏
q83390318
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-12-20
结帖率:25%
收藏
已结贴  问题点数:16 回复次数:3 
这个程序为什么不能运行???哪个高手知道!!!
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
class Euler
{
public:
  Euler(int m,n,u,v);
private:
 double m,n,u,v;
};
int main()
{   
int m,n,u,v;
    ifstream in("input.txt");
    in>>n>>" ">>m>>"\n";
    in>>u>>" ">>v>>"\n";
   ofstream out("output.txt");
out<<c1.sround1()<<" "<<c1.circle1()<<endl;
const n;//顶点数//
type shuzu=array[n][n]
const a:shuzu //图的描述与定义 1:连通;0:不通//

var
bianshu:array[1..max]of 0..max; //与每一条边相连的边数//
path:array[0..1000]of integer; //记录画法,只记录顶点//
zongbianshu,uu,first,u,total:integer;

procedure output(dep:integer); //输出各个顶点的画法顺序//
var sum,u,v:integer;
begin
inc(total);
writeln('total:',total);
for u:=0 to dep do write(Path);writeln;
end;
function ok(now,u:integer;var next:integer):boolean;//判断第I条连接边是否已行过//
var v,vv:integer;
begin
v:=0; vv:=0;
while vv<>u do begin inc(v);if a[now,u]<>0 then inc(vv);end;
next:=v;//判断当前顶点的第I条连接边的另一端是哪个顶点,找出后赋给NEXT传回//


ok:=true;
if (a[now,j]<>1) then ok:=false; {A[u,v]=0:原本不通}
end; { =2:曾走过}

procedure init;// {初始化}
var u,v :integer;
begin
total:=0; //{方案总数}
zongbianshu:=0; //{总边数}
for u:=1 to n do
for v:=1 to n do
if a[u,v]<>0 then begin inc(bianshu);inc(zongbianshu);end;//求与每一边连接的边数bianshu//
zongbianshu:=zongbianshu div 2; //图中的总边数//
end;

procedure find(dep,nowpoint:integer); //dep:画第几条边;nowpoint:现在所处的顶点//
var u,next,v:integer;
begin
for u:=1 to bianshu[nowpoint] do //与当前顶点有多少条相接,则有多少种走法//
if ok(nowpoint,i,next) then begin //与当前顶点相接的第I条边可行吗?//
//如果可行,其求出另一端点是NEXT//
a[nowpoint,next]:=2; a[next,nowpoint]:=2; //置成已走过标志//
path[dep]:=next; //记录顶点,方便输出//
if dep < zongbianshu then find(dep+1,next) //未搜索完每一条边//
else output(dep)
path[dep]:=0; //回溯//
a[nowpoint,next]:=1; a[next,nowpoint]:=1;
end;

begin
init; //初始化,求边数等//
for first:=1 to n do //分别从各个顶点出发,尝试一笔画//
fillchar(path,sizeof(path),0);
path[0]:=first; //记录其起始的顶点//
writeln('from point ',first,':');readln;
find(1,first); //从起始点first,一条边一条边地画下去//
end.
搜索更多相关主题的帖子: private include public double 
2010-12-27 21:18
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:8 
楼主的代码好纠结

                                         
===========深入<----------------->浅出============
2010-12-27 22:04
q83390318
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-12-20
收藏
得分:0 
怎么回事??找不出问题了!!
2010-12-27 23:01
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:8 
太多代码了,看不下去了

   唯实惟新 至诚致志
2010-12-27 23:48
快速回复:这个程序为什么不能运行???哪个高手知道!!!
数据加载中...
 
   



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

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