ras*_*435 1 c++ arrays vector stdvector c++11
嗨,我想用c ++制作一个坐标系.我将从用户那里获得一些(x,y)坐标并使用它我需要制作一个坐标系(更多的是地图)样式.我怎样才能做到这一点?它需要如下图所示.我应该使用2D数组或矢量以及如何使循环以不同方式进行标记吗?
(2,0)(4,3)(7,8)需要看起来像
**1************
***************
***************
***************
***1***********
***************
***************
********1******
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所获得的代码,但问题是我无法在其中标记多个坐标.我只是使用2 for循环来做到这一点
for(int i = -6; i < 7; i++)
if (i < 0)
cout<<" "<<i;
else
cout<<" "<<i;
cout<<endl;
for(int i = 0; i < 15; i++)
{
cout<<(char)(i + 49);
for(int j = -6; j < 7; j++)
if(i == y - 1 && j == x)
cout<<" x ";
else
cout<<" . ";
cout<<(char)(i + 49)<<endl;
}
Run Code Online (Sandbox Code Playgroud)
请指教.谢谢 !!
我会建议你使用两种vector<string>或者vector<vector<char> > 甚至vector<vector<string> >取决于你有什么打算在单元格中存放.如果单元格是单个字符,那么第一个选项可能是最好的.之后创建地图非常简单:
int n,m;
cin >> n >> m;
vector<string> a(n, string(m, '*');
Run Code Online (Sandbox Code Playgroud)
我不确定''是什么'.' 上面代码中的'x',但是我为你留下的所有成像是输入几对坐标并vector<string>用'1' 替换相应的元素.
希望这可以帮助.