#include<stdio.h>
#include<windows.h>
#include <stdlib.h>
main()
{
int system(const char *string);
int prn(int a[][21]);
int hx(int a[][21]);
int cg(int a[][21],int m,int n);
int fmt(int a[][21]);
int a[21][21]={0};
fmt(a);
for(;;)
hx(a);
}
int prn(int a[][21])//打印图
{
int m,n;
system("cls");
for(m=1;m<20;m++)
{
for(n=1;n<20;n++)
printf("%d ",a[m][n]);
printf("\n");
}
Sleep(10);
return 0;
}
int fmt(int a[][21])//数据初始化
{
int m,n;
scanf("%d%d",&m,&n);
a[m][n]==1?a[m][n]=0:a[m][n]=1;
return 0;
}
int cg(int a[][21],int m,int n)//对图中某点四周进行变换
{
int h=a[m+1][n-1]+a[m+1][n+1]+a[m-1][n-1]+a[m-1][n+1];
if(h==1&&h==3)
a[m][n]=1;
if(h==0&&h==2&&h==4)
a[m][n]=0;
Sleep(1);
return 0;
}
int hx(int a[][21])//进行全图变换并输出图
{
int m,n;
for(m=1;m<20;m++)
for(n=1;n<20;n++)
cg(a,m,n);
prn(a);
for(m=0,n=0;n<21;n++)
a[m][n]=0;
for(m=20,n=0;n<21;n++)
a[m][n]=0;
for(m=0,n=0;m<21;m++)
a[m][n]=0;
for(m=0,n=20;m<21;m++)
a[m][n]=0;
return 0;
}
#include<windows.h>
#include <stdlib.h>
main()
{
int system(const char *string);
int prn(int a[][21]);
int hx(int a[][21]);
int cg(int a[][21],int m,int n);
int fmt(int a[][21]);
int a[21][21]={0};
fmt(a);
for(;;)
hx(a);
}
int prn(int a[][21])//打印图
{
int m,n;
system("cls");
for(m=1;m<20;m++)
{
for(n=1;n<20;n++)
printf("%d ",a[m][n]);
printf("\n");
}
Sleep(10);
return 0;
}
int fmt(int a[][21])//数据初始化
{
int m,n;
scanf("%d%d",&m,&n);
a[m][n]==1?a[m][n]=0:a[m][n]=1;
return 0;
}
int cg(int a[][21],int m,int n)//对图中某点四周进行变换
{
int h=a[m+1][n-1]+a[m+1][n+1]+a[m-1][n-1]+a[m-1][n+1];
if(h==1&&h==3)
a[m][n]=1;
if(h==0&&h==2&&h==4)
a[m][n]=0;
Sleep(1);
return 0;
}
int hx(int a[][21])//进行全图变换并输出图
{
int m,n;
for(m=1;m<20;m++)
for(n=1;n<20;n++)
cg(a,m,n);
prn(a);
for(m=0,n=0;n<21;n++)
a[m][n]=0;
for(m=20,n=0;n<21;n++)
a[m][n]=0;
for(m=0,n=0;m<21;m++)
a[m][n]=0;
for(m=0,n=20;m<21;m++)
a[m][n]=0;
return 0;
}