对不起,如果已经在其他地方回答了这个问题。我很新,不知道如何真正解释这样的问题。
现在,我正在寻求创建一个[5] x [5]阵列所有的' +'字符。这就是我所拥有的:
#include <iostream>
using namespace std;
int main() {
char map[5][5] = {{'+','+','+','+','+'},{'+','+','+','+','+'},{'+','+','+','+','+'},{'+','+','+','+','+'},{'+','+','+','+','+'}};
for (int x = 0; x < 5; x++) {
for(int y = 0; y < 5; y++)
cout << map[x][y] << " ";
cout << endl;
}
return 0;
}
有没有办法重复这些&#39; +&#39; chars而不必一遍又一遍地列出每一个?
谢谢:)
从长远来看,我希望创建一个[n] x [n]地图,让玩家可以四处走动并作为一个有趣的学习项目进行互动。
答案 0 :(得分:3)
嗯,这很简单:只做一个简单的循环:
char map[5][5];
for (int x = 0; x < 5; x++) {
for(int y = 0; y < 5; y++)
map[x][y]='+';
}
答案 1 :(得分:2)
如果您想要尽可能少的代码,那么:
#include <string.h>
memset(&map[0][0], 'x', sizeof(map));
答案 2 :(得分:0)
std::vector
的构造函数提供了一种简单的方法来构建对象:
#include <vector>
//...
std::size_t n = 5;
std::vector<std::vector<char>> map(std::vector<char>('+', n), n);
//If using Visual Studio 2012 (or equivalent) or earlier:
std::vector<std::vector<char> > map(std::vector<char>('+', n), n);