Форум программистов, компьютерный форум CyberForum.ru

задача на массив - C++

Восстановить пароль Регистрация
 
ne_waru_fortran
46 / 2 / 0
Регистрация: 02.06.2011
Сообщений: 84
20.02.2012, 21:07     задача на массив #1
Array39. Дан массив размера N. Найти количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2012, 21:07     задача на массив
Посмотрите здесь:

C++ Задача на массив
(С++) задача на массив C++
C++ задача на массив
C++ задача записать в массив отрицательные элементы матрицы в массив и вывести их
C++ Задача на массив и указатели.(массив из случайных чисел)
C++ Массив Задача
C++ Массив Задача
C++ задача на массив

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.02.2012, 05:14     задача на массив #2
Если массив a[] размером N уже задан, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int i=0, res=0, d;
while(i<N-1)
{
    while(i<N-1 && a[i]==a[i+1])
        i++;
    if(i<N-1)
    {
        d=a[i]-a[i+1];
        while(i<N-1 && ((d<0 && a[i]-a[i+1]<0) || (d>0 && a[i]-a[i+1]>0)))
            i++;
        res++;
        i++;
    }   
}
//вот здесь в переменной res находится нужное значение
Небольшое пояснение, например в массиве a[] записано 3 значения:
1 5 3
Возрастающая последовательность это: 1 5
Код приведенный выше не будет учитывать убывающую последовательность: 5 3
т.к. посчитал что раз 5 входит уже в предыдущую последовательность, то для других последовательностей ее уже не учитываю. Но если нужно, то можно переделать.
ne_waru_fortran
46 / 2 / 0
Регистрация: 02.06.2011
Сообщений: 84
21.02.2012, 20:49  [ТС]     задача на массив #3
spasibo i za eto poka)
Yandex
Объявления
21.02.2012, 20:49     задача на массив
Ответ Создать тему
Опции темы

Текущее время: 13:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru