91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類(lèi)型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-14
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: C++??

資源簡(jiǎn)介

元胞自動(dòng)機(jī)的NS模型的C++代碼實(shí)現(xiàn) 可用 結(jié)構(gòu)清晰

資源截圖

代碼片段和文件信息

#include“iostream“
#include
#include
#include
#include?
using?namespace?std;
//#include
//#include“stdafx.h“

#define?Lane?50//總共的格子數(shù)
#define?TBEGIN ?2000//開(kāi)始計(jì)時(shí)的次數(shù)
#define??T???3000//總共更新的次數(shù)
#define?Vmax?5//最大速度
#define?P?0.5//減速概率

void?gotoxy(int?xint?y);
void?back();
void?show(intint);
void?clear(int);
void?delay(int?);
void?delay1(int?);
void?initcars(int?);
void?move();
float?caculate(int?);
int?FindFront(int?int?);
int?cars[T][Lane]; //定義數(shù)組
//車(chē)輛是從左到右順序更新的,可能和實(shí)際不太相符。可以使用多線程并行更新的方法,網(wǎng)上一些NS模型的實(shí)現(xiàn)是采用順序更新的,所以我就
//先采用了順序更新。?為了便于觀察,我在車(chē)輛更新時(shí)用了延遲函數(shù)。

int?main()
{
int?i;
float?v;
srand(time(NULL));

i=20;

????initcars(i);
????move();
????v=caculate(i);
return?0;
}

//初始化道路車(chē)輛
void?initcars(int?n)
{
int?ijlocationspeed;

for(i=0;i for(j=0;j cars[i][j]=-1;

//賦初值
for(i=0;i {
location=rand()%Lane;

if(?cars[0][location]?==-1)
{
cars[0][location]=rand()%(Vmax+1);
show(locationcars[0][location]);
back();
}
else???//如果該位置上已經(jīng)youchel,再為其重新隨機(jī)選擇一個(gè)位置
i--;
}
delay(1);
//debug
/*for(j=0;j if(?cars[0][j]?>=0?)
printf(“%d?%d\n“jcars[0][j]);*/
}

//車(chē)輛運(yùn)動(dòng)
void?move()
{
int?i=0jxvgap;

for(i=0;i {
for(j=0;j {
if(?cars[i][j]?>=?0?)
{
v=cars[i][j];
gap=FindFront(ij); //與前車(chē)距離
//printf(“weizhi:?%d?sudu:%d?gap:%d\n“jcars[i][j]gap);
//速度更新
if(?(v+1)?<=?Vmax)
v++;
if(?v?>?gap?)
v?=?gap;
if(?v>0?&&?(?rand()%100?<=?P*100?)?)
v--;

//位置更新
x=v+j;
x=x%Lane;
//printf(“\n%d?%d\n“xv);
if(?cars[i+1][x]?==?-1?)
{
cars[i+1][x]=v;
clear(j);
back();
show(xv);
back();
}
else
{
printf(“撞車(chē)?yán)驳?d秒,第%d格\n“ij);
exit(1);
}
delay1(1);//延遲顯示

}

}
delay(1);//延遲顯示
}
}

//計(jì)算與前車(chē)距離?空格的個(gè)數(shù)
int?FindFront(int?iint?j)
{
int?front=0;
while(?cars[i][(++j

評(píng)論

共有 條評(píng)論