我使用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;
}
}
}
我得到的输出为
我正在阅读坐标作为左上角的坐标,我应该怎样做才能将坐标读作左下角的坐标并从那里构建块?
答案 0 :(得分:1)
您需要逻辑地解决问题并分解解决问题所需的步骤。你正盯着一大块零,这不会有所帮助。所以,用伪代码和一张方便,花花公子的纸和铅笔来完成它。
询问有关手头较大问题的小问题。你如何从左下角坐标到你想要开始的坐标?你怎么决定什么时候停下来?我明白我刚刚做了什么吗?如果没有,为什么我不理解?
当你正在学习的时候,宝贝迈步迈步。花些时间来理解为什么某些东西要么以您想要的方式工作,要么无法工作。这样做,你就会成为一个更好的编码器。