程序设计实验\实验五 数组
消除类游戏
本代码由lzh同学提供
#include<iostream>
using namespace std;
int main()
{
int a[31][31],b[31][31],i,n,m,j,x,y;
cin>>m>>n;
for(i=0;i<31;i++)for(j=0;j<31;j++)a[i][j]=b[i][j]=0;//初始化二维数组
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
cin>>a[i][j];
b[i][j]=a[i][j];
}//输入二维数组,并且赋值给b[][];
}
for(i=1;i<=m;i++)
for(j=2;j<n;j++)
{
x=y=2;
if(a[i][j]==a[i][j-1]&&a[i][j]==a[i][j+1])
{
while(a[i][j+x]==a[i][j])
{
b[i][j+x]=0;x++;
}
b[i][j-1]=b[i][j+1]=b[i][j]=0;
}
}
for(j=1;j<=n;j++)
for(i=2;i<m;i++)
{
y=2;
if(a[i][j]==a[i-1][j]&&a[i][j]==a[i+1][j])
{
while(a[i][j]==a[i+y][j])
{
b[i+y][j]=0;y++;
}
b[i+1][j]=b[i][j]=b[i-1][j]=0;}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)cout<<b[i][j]<<' ';
cout<<endl;
}//输出二维数组
return 0;
}