Один одномерный массив называется ребристым, если каждый элемент, у которого есть предшественник и преемник, либо строго больше двух из них (как предшественника, так и преемника) или строго меньше, чем оба из них. Для одномерного массива с длиной n (2 < n < 100) выясните, является ли массив ребристым или нет.Проверьте, является ли массив ребристым
#include <stdio.h>
int main()
{
int n, i, j;
int check=0;
scanf ("%d", &n);
if (n<2 || n>100)
{
printf("Invalid input");
}
j=n;
int m[j];
for (j=0; j<n; j++)
{
scanf ("%d", &m[j]);
}
for (i=0; i<n-2; i++)
{
if (((m[i] < m[i+1]) && (m[i+1] > m[i+2])) ||
((m[i] > m[i+1]) && (m[i+1] < m[i+2])))
{
check=1;
}
else check=0;
}
if (check==1)
{
printf ("YES");
}
else if (check==0)
{
printf ("NO");
}
return 0;
}
Это результат я получаю для моих тестов http://prntscr.com/53zoc3. Каждый раз, когда я отправляю свои ответы, я получаю другой результат, хотя, например, третий и четвертый случай http://prntscr.com/53zt79. Мне просто интересно, могу ли я получить мнение о том, что мне нужно исправить для проблемы второго случая, и если вообще мой код кажется хорошим. Заранее спасибо!
У меня был перерыв в предыдущей версии моего кода, но это то, что происходит, когда я отправляю его http://prntscr.com/53zzly, и я не могу понять, почему. – marija
Извините, если вы отправляете код, отличный от того, что вы на самом деле используете, как, на ваш взгляд, мы можем решить, в чем проблема? –
В настоящий момент я работаю с этим кодом, просто добавив перерыв в том же месте, что и вы. Не работает с другим кодом, извините, если я выразился неправильно. – marija