次のような配列があります ([2][10] サイズ):
5 | 13 | 12 | 2 | 7 | 12 | 3 | 1 | 4 | 5
1 | 10 | 5 | 1 | 14| 6 | 4 | 1 | 7 | 2
4 | 9 | 17 | 5 | 6 | 2 | 7 | 21 | 8 | 1
ユーザーが数値を入力すると、コードは連続した数値の合計を計算し、最初の行と列を返します。
例: 入力 = 48 で行 = 1、列 = 1
を返す 入力 = 36 で行 = 2、列 = 6 を返す
私のサンプル コードでは、row = 0、column = 1 ではなく、"finished" のみが返されます。何が問題なのですか?
int sum;
int column;
int row;
bool situ = false;
int number = 12;
int puzzle[] = { (4,6,5,1,2), (3,5,6,7,8) };
for(int i=0; i<2; i++)
{
sum = 0;
for(int j=0; j<6; j++)
{
sum = 0;
for(int k=j; k<6; k++)
{
sum += puzzle[j];
if( number == sum && !situ)
{
row = i;
column = k;
cout << "row = " << i << endl;
cout << "column = " << j << endl;
}
if( !situ)
break;
}
if( !situ)
break;
}
if( !situ)
break;
}
cout << "finished";