首页 路由算法

路由算法

举报
开通vip

路由算法路由算法(C语言最终简化版) 2011年05月09日 星期一 10:17 A.M. 题目要求:http://hi.baidu.com/snzigod/blog/item/b3c67acb491ea450f31fe747.html 代码: //函数调用的方法 #include using namespace std; void inital();//初始化 void make();//整理 void show();//显示 int r[16][2] = { {16, 0 }, {16, 0 }, {16, 0 }, ...

路由算法
路由算法(C语言最终简化版) 2011年05月09日 星期一 10:17 A.M. 题目要求:http://hi.baidu.com/snzigod/blog/item/b3c67acb491ea450f31fe747.html 代码: //函数调用的方法 #include using namespace std; void inital();//初始化 void make();//整理 void show();//显示 int r[16][2] = { {16, 0 }, {16, 0 }, {16, 0 }, {16, 0 } ,//路由1    {16, 0 }, {16, 0 }, {16, 0 }, {16, 0 } ,//路由2    {16, 0 }, {16, 0 }, {16, 0 }, {16, 0 } ,//路由3    {16, 0 }, {16, 0 }, {16, 0 }, {16, 0 }  //路由4 }; void main() {  inital();//初始化路由表   printf("\t\t初始化的路由表\n");  show();//显示初始化路由表  make();//整理信息  printf("\n\t\t更新的路由表\n");  show();//显示结果 } void inital()//初始化 {  printf("四个网络: net1, net2, net3, net4.\n\n四个路由: router1, router2,router3,router4.\n\n输入    1代表net1, \n\t2代表net2, \n\t3代表net3, \n\t4代表net4.\n\n");     for (int i = 0; i < 4; i++)  {   printf("输入router%d端口数: ", i + 1);   int j ;   scanf("%d",&j);   for (; j > 0; j--)   {    printf("输入连接到router%d的网络: ", i + 1);    int n ;    scanf("%d",&n);    int kk = i * 4 + n - 1;    r[kk][0] = 1;    r[kk][1] = 0;   }   printf("\n");  }  } void show()//显示 {  for (int ii = 0; ii< 4; ii++)  {   printf("router%d的路由表: \n", ii + 1);   printf(" 网络\t距离\t\t下一跳路由\n");   for (int k = 0; k < 4; k++)   {    int kk = ii * 4 + k;    if(r[kk][0]==16)printf("net%d\t不可达\t\t没有下一跳\n",k + 1);    else if(r[kk][1]==0)printf("net%d\t直接交付\t没有下一跳\n", k + 1);    else printf("net%d\t%d\t\trouter%d\n", k + 1, r[kk][0], r[kk][1]);   }   printf("\n");  } } void make()//整理信息 {  for(int t=1;t<4;t++)  {   for (int iii = 0; iii < 12; iii++)   {    for (int j = ((iii / 4) + 1) * 4; j < 16; j++)    {     if ((r[iii][0] == 1) && (r[j][0] == 1) && (iii % 4 == j % 4))     {      for (int m = (iii/ 4) * 4; m < (iii / 4 + 1) * 4; m++)      {       if (m != iii && r[m][0] == t && r[(j / 4) * 4 + m % 4][0] == 16) { r[(j / 4) * 4 + m % 4][0] = t+1; r[(j / 4) * 4 + m % 4][1] = iii / 4 + 1; }                     }      for (int mm = (j / 4) * 4; mm < (j / 4 + 1) * 4; mm++)      {       if (mm != j && r[mm][0] == t && r[(iii / 4) * 4 + mm % 4][0] == 16) { r[(iii / 4) * 4 + mm % 4][0] = t+1; r[(iii / 4) * 4 + mm % 4][1] = j / 4 + 1; }                     }     }    }   }  } } 运行效果:
本文档为【路由算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_443704
暂无简介~
格式:doc
大小:59KB
软件:Word
页数:4
分类:互联网
上传时间:2011-08-29
浏览量:33