用字符填充矩阵区域
问题描述:
我已经使用2D矢量创建了矩阵。我使用的代码用字符填充矩阵区域
int RC=50;
vector<vector<int> > matrix;
vector<int>row;
///////////Building Grid//////////////////
for(int i=0;i<RC;i++)
{
for(int j=0;j<RC;j++)
{
row.push_back(0);
}
matrix.push_back(row);
}
//////////Printing Grid///////////////////
for(int i=0;i<RC;i++)
{
for(int j=0;j<RC;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
上述代码的输出是
现在我想的是,以填补尺寸6x6的块以“$”或任何字符的矩阵内通过输入块的左下角位置。例如,如果我将位置设为(10,4),那么我想放置一个'$'(尺寸为6x6)的块,其左下坐标为(10,4)。
EDIT-1
我添加的代码
int si=3;
int sy=3;
for(int i=0;i<RC;i++)
{
for(int j=0;j<RC;j++)
{
if(i>=si && i<=si+6 && j>=sy && j<=sy+6)
{
matrix[i][j]=1;
}
else
{
matrix[i][j]=0;
}
}
}
和我得到的输出
我读的坐标为左上角的,我应该怎么做才能将坐标读取为左下角的坐标并从那里构建模块?
答
您需要从逻辑上解决问题并分解您需要解决的步骤。你正盯着一大块零,这不会有帮助。所以,用伪代码和一张方便,漂亮的纸片和铅笔穿过它。
询问关于手头较大问题的较小问题。你如何从左下角坐标到你想要开始的坐标?你如何确定何时停止?我明白我刚刚做了什么吗?如果不是我为什么不理解它?
婴儿一步一步,当你学习。花点时间了解为什么某件事情按照你想要的方式工作或者失败。做到这一点,你会成为一个更好的编码器。
你到目前为止尝试过什么? – JGroven
那么,你的问题到底是什么?你刚刚描述了你打算做的事情。 – domsson
抱歉,刚刚更新了问题 –