Re[19]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.12.05 09:27
Оценка: 1 (1)
Vogul wrote:
>
> Не компилил правда, но задача показалась интересной, в своей простоте.
> Просто на обсуждение. Упрощенный вариант, не учитывающий плоские экстемумы.

Условие в if'е больно уж умственное. Что-то спросонья я не могу понять,
чем это лучше чем if( a[i] < a[i+1] && a[i+1] > a[i+2] ).

Кроме того, Ваш вариант не будет работать во всем диапазоне int'а, из-за
переполнения при умножении.

Наверное, Вы математик...

> int max_count(int * a, int size)

> {
> int count = 0;
>
> if(size > 2)
> {
> for(int i = 0; i < size — 2; i++)
> {
> if(((a[i+1] — a[i])*(a[i+2] — a[i+1]) < 0) && ((a[i+1] — a[i]) > 0))
> count++
> }
> return count;
> }else
> {
> return 0;
> }
> }
>
>
>
> Если ввести сохраняемую дельту, то можно и плоские экстремумы
> находить(про них правда ничего не сказано), да проблема с граничными
> условиями решается сама собой.
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.