无法设置动态数组底部C ++

时间:2019-07-12 13:43:20

标签: c++

我尝试制作2d数组的边框,但未设置按钮

my Output

    backGround='\'';
    screenBorder='#';
    w = 25;
    h = 25;
    void fillScreen(void){
        for(int i=0;i<w;i++){
            for(int a=0;a<h;a++){
                screenMap[i][a]=backGround;
            }
            screenMap[0][i]=screenBorder;//up
            screenMap[w-1][i]=screenBorder;//down
            screenMap[i][0]=screenBorder;//left
            screenMap[i][h-1]=screenBorder;//right
        }
    }

我想设置底部符号

3 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

2f26

更清晰,更易于阅读和扩展

答案 1 :(得分:0)

这很简单。此循环的最后一次迭代:for(int i=0;i<w;i++){ 当执行内部循环时,它会覆盖早期迭代的结果。

因此,要修复您的代码,内部循环不应在外部循环的上一次迭代期间执行。

答案 2 :(得分:-1)

bool isBorder(int col, int row, int width, int height)
{
    return col == 0 || col == width - 1 || row == 0 || row == height - 1;
}

void fillScreen(void)
{
    for(int col = 0; col < w; ++col)
    {
        for(int row = 0; row < h; ++row)
        {
            screenMap[col][row]= isBorder(col, row, w, h) ? screenBorder : backGround  ;
        }
    }
}