用C++协调系统

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)

请指教.谢谢 !!

izo*_*ica 5

我会建议你使用两种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' 替换相应的元素.

希望这可以帮助.