资源简介
C++实现熊猫烧香问题(包含试验报告+试验代码讲解)
代码片段和文件信息
#include
#include
#include
using namespace std;
#define MAXNODE 100
#define MAXVER 100 //病毒类型种类的最大值
typedef struct VertexType //一台电脑的信息
{
int day;//第几天感染的
int dl;//防御级别
int rc;//行列号
int vt;// 病毒类型
}VertexType;
typedef struct MGraph //整个图的构造
{
VertexType m[MAXNODE][MAXNODE];
int rowcolum num;//行列数,感染的数目
}MGraph;
void virspread(VertexType vint nowday);
MGraph mg ;//定义
void MGraphInit()//初始化
{
int ij;
for(i=0;i for(j=0;j {
mg.m[i][j].vt =0;
mg.m[i][j].dl=0;
mg.m[i][j].day=0;
mg.num=0;
mg.m[i][j].r=i;
mg.m[i][j].c=j;
}
}
void MGraphCreat()//创建图,邻接矩阵
{
MGraphInit();
srand( (unsigned)time( NULL ) );
cout<<“请逐行输入“< int ij;
for(i=0;i {
//cout<<“输入第“< for(j=0;j {
int a;
//cin>>a;
a=(10-rand()%20);
if(a==0)
{
a=a+1;
}
if(a>0)
{
mg.m[i][j].vt=a;
}
else
{
mg.m[i][j].dl=0-a;
}//if
}//for
}
int k=(mg.row+mg.colum)/2;
int h=(mg.row+mg.colum)/3;
mg.m[k][k].vt=1;//确保有一台机器已经被感染
mg.m[h][h].dl=3;//确保有一台机器没有被感染
}//MGraphCreat
void vir() //依次寻找病毒并调用函数virspread(mg.m[i][j]nowday);进行病毒的传播
{
int virtype=1;
int ij;
int nowday=1;
while(mg.num<(mg.row*mg.colum))
{
mg.num=0;
while(virtype<=MAXVER)
{
for(i=0;i
for(j=0;j {
if(mg.m[i][j].vt==virtype)
{
virspread(mg.m[i][j]nowday);
}
}
virtype++;
}
for(i=0;i for(j=0;j if((mg.m[i][j].vt)>0)
mg.num++;
/***********显示每天的感染情况*********/
Sleep(3000); //停顿3s
system(“cls“); //清屏
cout<<“第“< for(i=0;i {
for(j=0;j {
if(mg.m[i][j].vt!=0)
cout< else
cout<<(0-mg.m[i][j].dl)<<“☆“<<“ “;
}
cout< }
cout< /***********显示每天的感染情况*********/
nowday++;
virtype=1;
}
}
void virspread(VertexType vint _nowday) //病毒传播函数
{
VertexType qv[4*MAXNODE];
int front = 0rear = 1;
qv[1] = v;
while(front<=rear)// ↑,←,↓,——>四个方向进行传播
{
v=qv[++front];
if(v.r-1>=0&&mg.m[v.r-1][v.c].vt==0&&mg.m[v.r-1][v.c].dl<=_nowday)
{
mg.m[v.r-1][v.c].vt=v.vt;
qv[++rear]=mg.m[v.r-1][v.c];
}
if(v.c-1>=0&&mg.m[v.r][v.c-1].vt==0&&mg.m[v.r][v.c-1].dl<=_nowday)
{
mg.m[v.r][v.c-1].vt=v.vt;
qv[++rear]=mg.m[v.r][v.c-1];
}
if(v.r+1 {
mg.m[v.r+1][v.c].vt=v.vt;
qv[++rear]=mg.m[v.r+1][v.c];
}
if(v.c+1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1221120 2012-05-26 21:04 熊猫烧香\0103975鄢志青.doc
文件 4364 2012-05-18 17:32 熊猫烧香\熊猫烧香.cpp
目录 0 2012-12-06 14:25 熊猫烧香\
评论
共有 条评论