Я написал фрагмент кода для нахождения непрерывной суммы, равной одному из предоставленных аргументов. неНазначение значений двумерному массиву в c
#include <stdio.h>
#include <string.h>
int main()
{
//number of test case
int n;
int monfri[2];
scanf("%d",&n);
char res[n][3] ;
char yestok[3] = {"YES"};
int sum = 0;
int h = 0;
for(int i = 0 ; i < n; i++)
{
h=0;
//read no of friends and money
while (h < 2 && scanf("%d", &monfri[h]) == 1)
h++;
int fri[monfri[0]];
for(int j = 0; j < monfri[0]; j++)
scanf("%d",&fri[j]);
for(int k = 0; k < monfri[0] ; k++)
{
sum = 0;
for(int l=k+1; l<monfri[0]; l++)
{
sum = sum + fri[l - 1];
if(sum == monfri[1])
{
strcpy (res[i],yestok);
continue;
}
if(sum > monfri[i])
continue;
}
}
if(strcmp(res[i],yestok) != 0)
{
strcpy (res[i],"NO");
}
}
for(int d = 0; d < n ; d++)
{
puts(res[d]);
}
return 0;
}
обеспечивает входной сигнал для того же
2
5 12
2
3
4
5
6
3 15
2
2
2
Здесь первый входной представляет собой не тестового случая, в нашем случае его 2
следующий вход представляет фактическое нет данных и суммарного значения. здесь его
5 12
3 15
Ожидаемый результат должен быть
YES
NO
Но я получаю
YESNO
NO
Что плохого я сделал. Если нет тестового примера 1, то он работает нормально. но не удалось в 2 или более случаях.
Вы пробовали отладку? Это вопрос «Пожалуйста, отлаживайте мою программу». – bolov
@bolov Я пробовал, но не нашел. 'strcmp' и другие вещи прекрасны, кажется, и условия тоже в порядке. – Exhausted
По крайней мере отладка будет сузить ваши подозрения от того, откуда исходит ошибка. – bolov