啊哈磊_编程从这里起步
标题:
为什么无法运行
[打印本页]
作者:
嘟嘟编程
时间:
2020-3-27 14:07
标题:
为什么无法运行
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int a[51][51];
int book[51][51],n,m,sum;
void dfs(int x,int y,int color)
{
int next[4][2]={{0, 1},
{1, 0},
{0,-1},
{-1,0}};
int k,tx,ty;
a[x][y]=color;
for(k=0;k<=3;k++)
{
tx=x+next[k][0];
ty=y+next[k][1];
if(tx<1||tx>n||ty<1||ty>m)
continue;
if(a[tx][ty]>0&&book[tx][ty]==0)
{
sum++;
book[tx][ty]=1;
dfs(tx,ty,color);
}
}
return;
}
int main()
{
int i,j,num=0;
printf("请输入地图大小:");
scanf("%d %d",&n,&m);
Sleep(100);
system("cls");
printf("请输入地图");
Sleep(1000);
system("cls");
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
a[i][j]=getche();
printf(" ");
}
printf("\n");
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(a[i][j]>0)
{
num--;
book[i][j]=1;
dfs(i,j,num);
}
}
}
Sleep(1000);
system("cls");
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
printf("有%d个小岛\n",-num);
getchar();
return 0;
}
作者:
嘟嘟编程
时间:
2020-3-27 15:48
本帖最后由 嘟嘟编程 于 2020-3-27 15:51 编辑
不好意思,打错了,应该是运行结果错误
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2