3
#include <iostream>
using namespace std;
int main (int argc, char ** argv)
{
int c;
int distance=0;
int largestdistance=0;
int sum=0;
cin >> c;
int point[c][2];
for (int i=0; i<c; i++){
for (int j=0; j<2; j++){
cin >> point[i][j];
}
}
cout << point[2][0] << " ";
for (int i=0; i<c; i++){
for (int j=0; j<2; j++){
sum += abs(point[0][0]-point[1][0])+abs(point[0][1]-point[1][1]);
}
if (sum > largestdistance){
largestdistance=sum;
}
cout << '\n';
return 0;
}
}
이 프로그램은 첫 번째 행의 첫 번째 값에서 두 번째 행을 뺀 값의 첫 번째 값의 절대 값을 두 번째 행의 절대 값에 더한 값을 출력합니다 번호에서 두 번째 행의 두 번째 숫자를 뺀 값입니다. 나는 모든 프로그램이 자동으로 sum += abs(point[0][0]-point[1][0])+abs(point[0][1]-point[1][1])
point[][]
sum += abs(point[c-1][0]-point[c][0])+abs(point[c-1][1]-point[c][1])
까지 진행되도록 프로그램을 만드는 방법을 궁금해했다. 당신은 소수점 형 도입 된 경우가 많은 명확 것2D 배열에서 두 점의 차이를 얻는 방법
그럼 동적 프로그램 작업을 할 수있는 배열을 할당해야하거나 선택적 않는 동적 배열을 할당해야합니까? @Barry –
@SeanChen 귀하의 컴파일러 *가 당신을 그렇게 할 수도 있습니다. 그러나 비 C++ 11 기능 (VLA는 C 용)에 의존하지 않는 것이 좋습니다. 그냥 동적으로 메모리를 할당하십시오. – Barry
음,하지만 C++ 11이 아닌 정말 오래된 버전의 C++을 사용하고 있습니다. 그렇게 할 수 없을 수도 있습니다. –