不懂哪里错了,求教
查看原帖
不懂哪里错了,求教
1027350
Etayo楼主2024/7/5 21:12
#include<iostream>
#include<string>
using namespace std;

int fun(char* p, int m, int n,int i,int j)
{
	int x=0;
	if (p[n * i + j - 1 - n]=='*'&&i!=0&&j!=0)// 左上
	{		
		x++;
	}
	cout << x << endl;
	if (p[n * i + j - n] == '*'&&i!=0)//上
	{
		x++;
	}
	if (p[n * i + j + 1 - n] == '*'&&i!=0&&j!=2)//右上
	{
		x++;
	}
	if (p[n * i + j - 1 ] == '*'&&j!=0)//左
	{
		x++;
	}
	if (p[n * i + j + 1 ] == '*'&&j!=2)//右
	{
		x++;
	}
	if (p[n * i + j + 1 + n] == '*'&&i!=2&&j!=2)//右下
	{
		x++;
	}
	if (p[n * i + j + n] == '*'&&i!=2)//下
	{
		x++;
	}
	cout << x << endl;
	if (p[n * i + j - 1 + n] == '*'&&i!=2&&j!=0)//左下
	{
		x++;
	}
	return x;
}

int main()
{
	int m, n;
	cin >> m >> n;
	char map[100][100];
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < n; j++)
		{
			cin >> map[i][j];
		}
	}	
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < n; j++)
		{
			if (map[i][j]=='*')
			{
				cout << "*";
			}
			else
			{
				cout << fun((char*)map, m, n, i, j);
			}
		}
		cout << endl;
	}
	return 0;
}




2024/7/5 21:12
加载中...