ファイルからいくつかの座標を読み込み、それらを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