Мне нужна помощь с моей домашней работой. Мне нужно построить функцию, которая вычисляет сумму элементов в массиве. У меня есть массив 4X4, и мне нужно вычислить сумму let, чтобы сказать членам из первой строки. Мне нужно сделать это для каждой комбинации сумм в строке для заданного количества членов из этой строки и проверить, соответствует ли она сумме, которую дали мне пользователи. , если строка 1 2 3 4. Мне нужно проверить (1 + 2 + 3 + 4), (2 + 3 + 4), (3 + 4), (1), (2), (3) , (4) Я знаю, как проверить (1) (2) (3) (4) проблема заключается в том, что как только я дойду до конца первой суммы (1 + 2 + 3 + 4), я не как вернуться к индексу, который запустит сумму (2 + 3 + 4) без использования статических переменных. мой код это:Возврат к предыдущему члену массива в c
bool row_sum(int length,int sum, int mat[N][N])
{
int temp_sum=0, i=0, j=0, cnt1=0;
while (i<N)
{
while(j<N)
{
cnt1++;
temp_sum += mat[i][j];
if ((temp_sum==sum) && (cnt1==length))
{
return 1;
}
else if (temp_sum<sum)
{
j++;
continue;
}
else if (temp_sum>sum)
{
if (j==N-1)
{
temp_sum=0;
cnt1=0;
j=N;
break;
}
else
{
temp_sum=0;
j=(cnt1-j);
cnt1=0;
}
}
else if ((temp_sum<sum) && (cnt1=length))
{
temp_sum=0;
j=(cnt1-j);
cnt1=0;
}
}
i++;
}
return 0;
}
Я надеюсь, что я ясно .. это трудно описать проблему. Спасибо, Adi.