Дана последовательность чисел. Определить сколько раз в ней меняется знак - C (СИ) (73864)

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

Помогите с задачей: Дана последовательность чисел. Определить сколько раз в ней меняется знак.

Код к задаче: «Дана последовательность чисел. Определить сколько раз в ней меняется знак - C (СИ) (73864)»

textual
#include <stdio.h>
 
#define n 10
 
enum {plus, minus};
 
int main(int argc, char **argv)
{
    int a[n], i, count = 0, flag;
    for (i = 0; i < n; i++)
    {
        printf("A[%i]:", i);
        scanf("%i", &a[i]);
        if (i == 0) flag = (a[i] >= 0 ? plus : minus);
        else
        {
            if (a[i] >= 0 && flag == minus)
            {
                count++;
                flag = plus;
            }
            else if (a[i] < 0 && flag == plus)
            {
                count++;
                flag = minus;
            }
        }
    }
    printf("Swap :%i\n", count);
    return 0;
}

8   голосов, оценка 4.125 из 5


СОХРАНИТЬ ССЫЛКУ