我有一个如下所示的数组([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
我的示例代码只返回“完成”而不是行 = 0,列 = 1。怎么了?
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";