他顯示
正確如下
11-----1*22*211122112322112*212*2111*1----1**2**1-2*3*3***11*3*2**423*3*1---12**1-2**211112*1--11111
而我的答案:
11-----1*22*211122112322112*212*2111*1----1**2**1-2*3*3***11*3*2**423*3*1---12**1-2**211112*1--11112
只差 最後 一個 2 是為何?
沒道理前面都沒錯只錯一個 而且用題目給的範例也是對的阿
麻煩各位 高手 指點指點 謝謝^ ^
沒給程式碼 不知道錯在哪
我先猜
會出靈異事件通常是因為
沒檢查陣列索引值
以身試法 真的是這個原因
請檢察陣列索引值
if(i+vx>-1&&i+vx-1&&j+vy
類似這樣
謝謝你的回應
可是我不太懂...
------------------以下程式碼
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
char m[100][100];
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
m[i][j]='\0';
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>m[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
int bom=0;
for(int x=i-1;x<=i+1;x++)
{
if(x<0)
x++;
for(int y=j-1;y<=j+1;y++)
{
if(y<0 )
y++;
if(m[i][j]!='*' && m[x][y]=='*')
{
bom++;
}
}
}
if(m[i][j]=='*')
cout<<m[i][j];
else if(bom!=0 )
{
cout<<bom;
}
else
{
cout<<m[i][j];
}
}
cout<<endl;
}
return 0;
}
沒給程式碼 不知道錯在哪
我先猜
會出靈異事件通常是因為
沒檢查陣列索引值
以身試法 真的是這個原因
請檢察陣列索引值
if(i+vx>-1&&i+vx-1&&j+vy
類似這樣
謝謝你的回應
可是我不太懂...
------------------以下程式碼
#include
using namespace std;
int main()
{
int n;
cin>>n;
char m[100][100];
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
m[i][j]='\0';
}
}
for(int i=0;i
{
for(int j=0;j
{
cin>>m[i][j];
}
}
for(int i=0;i
{
for(int j=0;j
{
int bom=0;
for(int x=i-1;x<=i+1;x++)
{
if(x<0)
x++;
for(int y=j-1;y<=j+1;y++)
{
if(y<0 )
y++;
if(m[i][j]!='*' && m[x][y]=='*')
{
bom++;
}
}
}
if(m[i][j]=='*')
cout<
else if(bom!=0 )
{
cout<
}
else
{
cout<
}
}
cout<
}
return 0;
}
for(int x=i-1;x<=i+1;x++)
{
if(x<0) 這邊如果 x >=n 會出問題
x++;
for(int y=j-1;y<=j+1;y++)
{
if(y<0 )這邊如果 y >=n 會出問題
y++;
if(m[i][j]!='*' && m[x][y]=='*')
{
bom++;
}
}
}
沒給程式碼 不知道錯在哪
我先猜
會出靈異事件通常是因為
沒檢查陣列索引值
以身試法 真的是這個原因
請檢察陣列索引值
if(i+vx>-1&&i+vx-1&&j+vy
類似這樣
謝謝你的回應
可是我不太懂...
------------------以下程式碼
#include
using namespace std;
int main()
{
int n;
cin>>n;
char m[100][100];
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
m[i][j]='\0';
}
}
for(int i=0;i
{
for(int j=0;j
{
cin>>m[i][j];
}
}
for(int i=0;i
{
for(int j=0;j
{
int bom=0;
for(int x=i-1;x<=i+1;x++)
{
if(x<0)
x++;
for(int y=j-1;y<=j+1;y++)
{
if(y<0 )
y++;
if(m[i][j]!='*' && m[x][y]=='*')
{
bom++;
}
}
}
if(m[i][j]=='*')
cout<
else if(bom!=0 )
{
cout<
}
else
{
cout<
}
}
cout<
}
return 0;
}
for(int x=i-1;x<=i+1;x++)
{
if(x<0) 這邊如果 x >=n 會出問題
x++;
for(int y=j-1;y<=j+1;y++)
{
if(y<0 )這邊如果 y >=n 會出問題
y++;
if(m[i][j]!='*' && m[x][y]=='*')
{
bom++;
}
}
}
真的 是矩陣的問題
我懂了
下次會小心點
感謝你 謝啦