2016-12-21 42 views
-3

我有填充有各种字母字符grid[j][i]的2D矢量矢量,我想创建字符的另一个二维矢量的grid[j][i]与点'.'(或空格' ')交替填充大小的两倍和grid[j][i]的值。C++填充一个2D矢量具有替代值

例如:

 grid     new 2D vector  

    a b c d     a . b . c . d   
    e f g h     . . . . . . . 
    i j k l     e . f . g . h 
           . . . . . . . 
           i . j . k . l 

没有人对如何实现++在C使用矢量的想法?

在此先感谢您提供的任何帮助。

+0

查看dos和donts上的[help page](http://stackoverflow.com/help)。 –

+0

告诉我们你试过了什么,你有什么困难? –

回答

3

容易吧?如果行或列号是2的倍数(1基于计数),那么您希望插入.' '

下面是一些伪代码:

for each row 
    if (row+1 mod 2) 
     add a row of . 
    else 
     for each column 
      if (col+1 mod 2) 
       add . 
      add grid[row][col] 

和你做!

+0

请注意,循环的顺序---行,列---不是最佳实践,因为C/C++是行主要的。 – Richard

+1

@Richard你能详细说一下吗?在C++中的2D矢量中,行/列顺序可以是我选择的任何东西吗? –

+0

@Richard根据[这个维基百科条目](https://en.wikipedia.org/wiki/Row-_and_column-major_order)和[这个问题](http://stackoverflow.com/questions/33722520/why-is -iterating-2d-array-row-major-faster-column-major),这是为了达到速度迭代的正确顺序。 –