用字符填充矩阵区域

问题描述:

我已经使用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; 
} 

上述代码的输出是

enter image description here

现在我想的是,以填补尺寸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; 
     } 
    } 
} 

和我得到的输出

enter image description here

我读的坐标为左上角的,我应该怎么做才能将坐标读取为左下角的坐标并从那里构建模块?

+2

你到目前为止尝试过什么? – JGroven

+1

那么,你的问题到底是什么?你刚刚描述了你打算做的事情。 – domsson

+0

抱歉,刚刚更新了问题 –

您需要从逻辑上解决问题并分解您需要解决的步骤。你正盯着一大块零,这不会有帮助。所以,用伪代码和一张方便,漂亮的纸片和铅笔穿过它。

询问关于手头较大问题的较小问题。你如何从左下角坐标到你想要开始的坐标?你如何确定何时停止?我明白我刚刚做了什么吗?如果不是我为什么不理解它?

婴儿一步一步,当你学习。花点时间了解为什么某件事情按照你想要的方式工作或者失败。做到这一点,你会成为一个更好的编码器。