| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 504 人关注过本帖
标题:哪位大神能帮忙解决啊?
只看楼主 加入收藏
鬼才!
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-10-21
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:7 
哪位大神能帮忙解决啊?
#include<iostream>
//#include <iomanip>
#include <stdio>
using namespace std;

#define m 1000  //表示两点间不可达,距离为无穷远
#define n 9  //结点的数目
//void dijkstra(int C[][n],int v);//求原点v到其余顶点的最短路径及其长度

void dijkstra(int C[][n],int v);
{
int i,j,k,l,p,q,u,v,s,w;

int L(k+1);//表示从1点到k+1点的距离

cout<<1<<"到"<<1<<"的最短距离为0"<<endl;
cout<<"路径为:"<<1<<"-->"<<1<<endl;

for(k=1;k<9;k++)
{
for(i=0;i<n;i++)//查找第1排
{
if(C[0][i] != m)
{
if(i=k)
{
for(j=0;j<n;j++)//查找第2排
{
if(C[i][j] != m)
{
if(j=k)
{

      
C[0][i]+C[i][j]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<endl;
}
}

else
{
for(l=0;l<n;l++)//查找第3排
{
if(C[j][l] != m)
{
if(l=k)
{
C[0][i]+C[i][j]+C[j][l]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<endl;
}

}
else
{
for(p=0;p<n;p++)//查找第4排
{
if(C[l][p] != m)
{
if(p=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<endl;
}

}
else
{
for(q=0;q<n;q++)//查找第5排
{
if(C[p][q] != m)
{
if(q=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<endl;
}
}
else
{
for(u=0;u<n;u++)//查找第6排
{
if(C[q][u] != m)
{
if(u=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<endl;
}

}
else
{
for(v=0;v<n;v++)//查找第7排
{
if(C[u][v] != m)
{
if(v=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]+C[u][v]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<"-->"<<v<<endl;
}

}
else
{
for(s=0;s<n;s++)//查找第8排
{
if(C[v][s] != m)
{
if(s=k)
{

C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]+C[u][v]+C[v][s]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<"-->"<<v<<"-->"<<s<<endl;
}

}
else
{
for(w=0;w<n;w++)//查找第9排
{
if(C[s][w] != m)
{
if(w=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]+C[u][v]+C[v][s]+C[s][w]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;        
}
else
{
        
cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<"-->"<<v<<"-->"<<s<<"-->"<<w<<endl;
}

}

}


}


}
}

}

}
}


}


}
}

}

}
}


}

}
}
}
}

}


}


}

}


}


}

}
}




void main()
{
 cout<<" ——Dijkstra算法的程序实现——"<<endl;
 int C[n][n]={
  {m,3,5,20,26,4,m,m,m},
  {4,m,m,5,4,m,20,m,m},
  {9,m,m,m,4,8,m,m,m},
  {18,4,m,m,m,m,9,m,25},
  {20,2,6,m,m,m,7,8,30},
  {5,m,3,m,m,m,m,m,30},
  {m,5,m,5,1,m,m,m,25},
  {m,m,4,m,6,2,m,m,10},
  {m,m,m,m,25,m,4,9,m}
 };

 int i,j;
 int v = 1;
 cout<<"输出有向图的邻接矩阵"<<endl;
 for(i=0;i<n;i++)
 {
  for(j=0;j<n;j++)
  {
  cout<<setw(10)<<C[i][j] ;
  }
cout<<endl;
 }
cout<<"输出原点1到其他各点的最短路径及其长度"<<endl;
 dijkstra(C,v);
 
}

出现这样的问题,求大神指导
fatal error C1083: Cannot open include file: 'stdio': No such file or directory
Error executing cl.exe.
搜索更多相关主题的帖子: include 
2013-11-08 18:45
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:3 
这代码写得~~~太抽样了,缩进~


这个看的吐血
}
 
}
 
}
 

}
 

}
 }
 
}
 
}
 }
 

}
 

}
 }
 
}
 
}
 }
 

}
 
}
 }
 }
 }
 
}
 

}
 

}
 
}
 

}
 

}
 
}
 }
 


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-11-08 20:14
左手拉一只猫
Rank: 4
来 自:杭州
等 级:业余侠客
帖 子:70
专家分:250
注 册:2013-10-27
收藏
得分:3 
#include <stdio>
这个要用#include <stdio.h>的,你这代码写的也太抽象了。。。后面懒得看了。。。

我能帮你的只能到这里了。。。
2013-11-08 20:47
鬼才!
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-10-21
收藏
得分:0 
回复 2楼 yuccn
嘿嘿
2013-11-08 21:25
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:3 

仰望星空...........不忘初心!
2013-11-08 21:26
鬼才!
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-10-21
收藏
得分:0 
回复 3楼 左手拉一只猫
不是有#include<stdio>吗?
2013-11-08 21:27
左手拉一只猫
Rank: 4
来 自:杭州
等 级:业余侠客
帖 子:70
专家分:250
注 册:2013-10-27
收藏
得分:0 
回复 6楼 鬼才!
编译里面报错的是fatal error C1083: Cannot open include file: 'stdio': No such file or directory
Error executing cl.exe.
不能打开文件“stdio”,不存在这样的文件。
改用stdio.h头文件额。。。

我能帮你的只能到这里了。。。
2013-11-10 14:35
wu2782641803
Rank: 2
等 级:论坛游民
帖 子:65
专家分:46
注 册:2013-10-28
收藏
得分:3 
回复 7楼 左手拉一只猫
#include <stdio.h>
2013-11-12 07:57
快速回复:哪位大神能帮忙解决啊?
数据加载中...
 
   



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

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