嗨我想用C++製作一個座標系。我會從用戶那裏得到幾個(x,y)座標,並且使用它我需要創建一個座標系(更多地圖)樣式。我怎樣才能做到這一點?它需要如下圖所示。我應該使用二維數組還是矢量,以及如何讓循環執行不同的標記?C++中的座標系
(2,0),(4,3),(7,8) 需要看起來像
**1************
***************
***************
***************
***1***********
***************
***************
********1******
這是我到目前爲止的代碼,但問題是我不能標記更多而不是其中的一個座標。我只用了2個循環來做到這一點
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;
}
請指教。謝謝 !!
矢量> FTW。使標記元素直觀imho。 +1,順便說一句。但你的權利,傾銷到控制檯很難打敗一大堆字符串= P –
WhozCraig
加速C + +(Koenig&Moo)在這裏也使用向量字符串方法。它允許使用'a [y] [x]'語法。這可能是違反直覺的。 – MSalters
+1,這可能是op的阻力最小的路徑。但值得注意的是,取決於'興趣點'與地圖大小的相對稀疏程度,以及*如果地圖需要動態增長或不*,定義一個包裹std :: pair的CoordType和適當的比較運算符,並將它用作地圖/集合中的關鍵(類似於Pawel的答案)可能是更自然的實現。國際海事組織(IMO),網格圖的維度是否在其整個生命週期內保持不變是決定哪一種方法更好的關鍵因素。 – WeirdlyCheezy