Вывести YES, если есть два соседних элемента массива с одинаковыми знаками - C (СИ)

Формулировка задачи:

Программа должна вывести YES, если есть два соседних элемента с одинаковыми знаками, и NO – иначе. Вот мое решение:
#include <stdio.h>
int main(void)
{
    int i,n,a;
    a=0;
    scanf("%d",&n);
    int arr[n];
    for (i=0;i<n;i++)
    scanf ("%d",&arr[i]);
    for (i=0;i<n;i++)
    {
    if (((arr[i]>0)&&(arr[i+1]>0))||((arr[i]<0)&&(arr[i+1]<0)))
    a=1;
    else
    a=0;
    }
    if (a==1)
    printf("YES");
    else
    printf("NO");
    return 0;   
}
Выдается неправильный ответ,когда нет последовательных чисел одинакового знака .


textual

Код к задаче: «Вывести YES, если есть два соседних элемента массива с одинаковыми знаками - C (СИ)»

a=0;
    for (i=0;i<n-1;i++)
    {
        if (arr[i]*arr[i+1]<0)
        {
            a=1;
            break;
        }
    }
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 3.800 из 5

Источник