파일에서 일부 좌표를 읽고 3x3 격자로 다이빙하여 셀 값 (0-2)을 지정하려고합니다. 일부 값의 경우 코드는 x = 268 또는 x = 269와 같은 음수 값을 지정합니다. 내가 어디로 잘못 가고 있니?3x3 격자의 좌표에 셀 지정
76 62
77 62
78 62
79 62
81 62
83 62
86 62
etc
세포 할당하는 코드 : 당신은 최대 값과 최소값을 찾으려고 곳
이int x_points[99];
int y_points[99];
int i=0;
int x,y;
int max_x, max_y;
int min_x, min_y;
while(out.good())
{
out>>x;
out>>y;
if(i==0)
{
max_x=x;
min_x=x;
min_y=y;
max_y=y;
}
else if (x>max_x)
{
max_x=x;
}
else
if(x < min_x)
{
min_x=x;
}
else if (y>max_y)
{
max_y=y;
}
else
if(y < min_y)
{
min_y=y;
}
x_points[i]=x;
y_points[i]=y;
i++;
}
for(i=0; i<99; i++)
cout<<x_points[i]<<","<<y_points[i]<<"\n";
int cells_x[99];
int cells_y[99];
float x_width;
float y_width;
int divide = 3;
//To find out the cells. Divide it by 20
x_width=(max_x-min_x)/divide;
y_width=(max_y-min_y)/divide;
cout<<"\nx_width:"<<x_width;
cout<<"y_width:"<<y_width<<"\n";
int x1;
int y1;
for(i=0; i<99; i++)
{
x1=x_points[i]-min_x;
y1=y_points[i]-min_y;
for(int j=0; j<divide; j++)
{
if(j*x_width<=x1 && x1<((j+1)*x_width))
cells_x[i]=j;
if(j*y_width<=y1 && y1<((j+1)*y_width))
cells_y[i]=j;
}
cout<<cells_x[i]<<" "<<i<<" "<<cells_y[i]<<"\n";
}
제대로 포맷 된 코드를 디버그하고 오류를 찾아내는 것이 더 쉬울 수도 있습니다. –
stackoverflow에서 서식을 지정하는 방법을 모르겠습니다. 그러나 아픈 것은 나의 formating을 더 발전시키는 것을 시도한다. – codious