Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++]Количество промежутков монотонности в массиве


Автор: x0mka 17.1.2010, 14:39
Надо найти количество промежутков монотонности(возрастания и спадания) в массиве.
Я пыталась написать программу, но мне сказали, что сам алгоритм  решения неправильный. Подскажите, пожайлуста, что тут не так! smile 
Заранее огромное спасибо!!!
Код

#include <stdio.h>
#include <math.h>
#define N 5

int number(int array[], int size);
void enter(int array[], int size);


int number(int array[], int size)
{
    int p, number, i;
    number = 1;
    if(array[0] < array[1]) 
        p = 1;
    else
        p = 0;
    for(i = 2; i < size; i++)
    {
           if((array[i] > array[i-1]) && (p == 0))
           {
             number++;
             p = 1;
             if(array[i] > array[i+1])
                 p = 0;
           }
           if((array[i] < array[i-1]) && (p == 1))
           {
              number++;
              p = 0;
              if(array[i] < array[i+1])
                  p = 1;
           }
    }
    return number;
}


void enter(int array[], int size)
{
    int i;
    puts("VVedite chisla");
    for(i = 0; i < size; i++)
        scanf("%d", &array[i]);
}


int main()
{
    int quantity, array[N];
    enter(array, N);
    quantity = number(array, N);
    printf("Kolichestvo_intervalov_monotonnosty %d\n", quantity);
    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)