下载 > 资源分类 >  课程资源 >  C/C++ > c语言课程设计道路交通灯控制系统.zip

c语言课程设计道路交通灯控制系统.zip

2011-06-12 上传大小:278KB

在一个有多条分支的多叉路口,有些方向是双向通行,有些方向是单向通行,每个方向的通行时间根据不同时间段自动调节,请设计一个交通信号控制系统。(C和E是单行道)。该控制系统可以根据不同路口情况,配置合适的交通信号灯颜色及控制通行时间。

 






实现功能 
              在一个有多条分支的多叉路口,A、B、D是双向通行,C、E是单向通行,每个方向的通行时间根据不同时间段自动调节。
请设计一个交通信号控制系统。该控制系统可以根据不同路口情况,配置合适的交通信号灯颜色及控制通行时间。

思路分解
道路遵循右行规则
找到可以行驶的路线(考虑C、E的单向因素)
    AB、AC、AD
    BA、BC、BD
    DA、DB、DC
EA、EB、EC、ED


思路分解
基于以上判断出的可以行驶的路线,根据车辆必须右行和同一通行时间段内路线之间不能交叉的原则判断哪些路线不能同时行驶。结果包括以下:
             (AB BC) (AB BD)
             (AB DA) (AB EA) 
             (AC DA) (AC  BD)
             (AC DB) (AC EA) (AC  EB) 
             (AD EA) (AD EB) (AD EC)
             (BC EB)  (BC DB)
             (BD DA) (BD EB) (BD EC)
             (DA EB)  (DA EC)
             (DB EC)

思路分解
	把可以同时行驶且不发生碰撞的路线用同一种颜色的交通灯指示
	该控制系统需要用多少种颜色的交通灯分配给这些行驶路线?
  交通灯颜色越少表示该控制系统的管理效率越高

解决方案
	借助于“图”。图中一个顶点表示一条行驶路线,行驶路线相互矛盾用顶点之间的连线(即“边”)来表示。
	交通灯控制问题就变等价为:对图的顶点的染色问题,要求对图上的每个顶点染上一种颜色,且有边相连的两个顶点不能染相同的颜色,且总的颜色种类尽可能的少。
	或者,如果把图上的一个顶点理解为一个国家,顶点之间的连线表示两个国家有共同的边界,相邻的国家不能涂相同的颜色,则以上交通灯控制问题又能转化为著名的地图着色问题。

  
解决方案
	考虑使用贪心算法
	算法主要思想
    1. 用一种颜色给尽可能多的顶点着色
        (1)  选择某未着色的顶点并用该新颜色上色
        (2)  扫描未着色的其他所有顶点,逐个考察它们是否有边与已用该颜色着色的顶点相连,若没有边相连就用该颜色上色。
    2. 换一种颜色重复步骤1,直到所有顶点全部着色为止


	其中一种可能染色结果,圆圈中的数字标识该路径所选用的交通灯颜色,即:蓝色为1,红色为2,绿色为3,黄色为4。该算法还可能得到其他的次优解。


 

实现要求
	选用适当的数据结构存储上面的图的信息
	程序运行后的输出内容,请参考以下格式(以上图为例):
      
      颜色1的信号灯亮时,以下方向通行:
          AàB  BàA  AàC  AàD  DàC  EàD
      颜色2的信号灯亮时,以下方向通行:
          BàC  BàD  EàA
      颜色3的信号灯亮时,以下方向通行:
          DàA  DàB
      颜色4的信号灯亮时,以下方向通行:
          EàB  EàC

实验步骤
  - 建立数据的结构;
  - 设计子函数;
  - 利用main函数调用各子函数;
  - 准备测试数据;
  - 调试程序,分析运行结果。
...展开收缩
综合评分:4(33位用户评分)
开通VIP C币充值 立即下载

评论共有6条

name
donkey55222015-07-11 09:37:04
运行不出结果,不过思路学习了,谢谢分享
name
chenxh2662013-12-08 16:08:51
还不错 赞一个
name
harrykran2013-08-21 09:38:48
有点没搞懂,运行不了
name
nlpeipei2013-05-29 21:58:25
运行的结果不是想象中的 要自己打开道路文件
name
zhangruhong1682013-05-09 19:04:03
这是电子方面的~!结合C语言哦
name
u0100140482013-04-15 18:24:52
这是电子方面的~!结合C语言

评论资源

您不能发表评论,可能是以下原因:

登录后才能评论

待评论资源
 

热门专辑

课程资源热门标签

VIP会员动态

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
确认下载
img

c语言课程设计道路交通灯控制系统.zip

会员到期时间: 剩余下载个数: 剩余C币:593 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
C币充值 开通VIP
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可奖励20下载分

  • 举报人:
  • 被举报人:
  • 举报的资源分:
  • *类型:
  • *详细原因: