안녕하세요 저는 C++을 사용하여 좌표계를 만들고 싶습니다. 몇 가지 (x, y) 좌표를 사용자로부터 얻고 좌표계 (지도의 더 많은) 스타일을 만들어야합니다. 이것을 어떻게 할 수 있습니까? 아래 다이어그램과 같아야합니다. 2D 배열이나 벡터를 사용해야하고 루프가 마킹을 어떻게 다르게해야합니까?C++의 좌표계
**1************
***************
***************
***************
***1***********
***************
***************
********1******
이 같이 할 필요가
(2,0) (4,3) (7,8) 내가 지금까지 가지고 코드이지만, 문제는 표시 할 수 없습니다 더 그 중 하나의 좌표보다. 방금 루프를 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;
}
을 알려주십시오. 감사 !!
벡터>. 요소를 직관적으로 표시합니다. +1, btw. 하지만 당신의 권리는 콘솔에 덤핑해서 문자열의 큰 스택을 이기기 어렵습니다. P –
WhozCraig
Accelerated C++ (Koenig & Moo)는 여기에서도 vector-of-string 방식을 사용합니다. 'a [y] [x]'구문을 허용합니다. 반 직관적 일 수 있습니다. – MSalters
+1, 이것은 아마도 작전에 대한 최소한의 저항 경로 일 것입니다. 그러나 '관심 지점'이지도 크기와 얼마나 관련이 있는지에 따라지도를 동적으로 성장시켜야할지 여부를 결정할 수 있으며, CoordType을 std :: pair 및 적절한 비교 연산자로 정의하는 것이 중요합니다. 그것을지도/세트 (Pawel의 대답과 유사)의 키로 사용하는 것이 더 자연스러운 구현 일 수 있습니다. IMO는 그리드 맵의 크기가 평생 동안 일정한 지 여부에 관계없이 어떤 접근 방식이 더 잘 작동 하는지를 결정하는 핵심 요소입니다. – WeirdlyCheezy