これが私のコードの一部です。残りは単なる関数定義です。プレートの温度を記録する 20 x 20 の配列があります。配列内のセルが 0.1 度を超えて変化しなくなるまでループを繰り返す必要があります (反復ごとに値を更新します) 反復を停止するタイミングを決定するために、配列内の任意のセルの最大の変化をどのように監視しますか? 今、これを試してみましたが、正しく出力されません。現在のものと比較するために以前のものを誤って定義しているためだと思います。
while (true)
{
bool update = false;
for (int a = 1; a < array_size -1; a++)
{
for (int b = 1; b < array_size -1; b++)
{
hot_plate[a][b] = sum_cell(hot_plate, a, b);
}
}
for (int a = 1; a < array_size-1; a++)
{
for (int b = 1; b < array_size-1; b++)
{
hot_plate_next[a][b]=sum_cell(hot_plate_next, a,b);
if (abs(hot_plate_next[a][b] - hot_plate[a][b]) > 0.1)
{
update = true;
}
hot_plate_next[a][b] = hot_plate[a][b];
cout << hot_plate[a][b] << " ";
}
}
if (!update) {
break;
}
}