Здравствуйте, Рома Мик, Вы писали:
Чего-то я ошибся зачем-то
РМ>РМ>int start = 0, end = 0;
РМ>for(int n = 1; n < count - 1; ++n)
РМ>{
РМ> int n1 = n;
РМ> while(((a[n - 1] > a[n]) == (a[n] < a[n + 1])
РМ> || (a[n - 1] < a[n]) == (a[n] > a[n + 1]))
РМ> && n < count - 1)
РМ> ++n;
РМ> if(n - n1 > start - end)
РМ> {
РМ> start = n1 - 1;
РМ> end = n;
РМ> }
РМ> while((a[n - 1] > a[n]) != (a[n] < a[n + 1])
РМ> && (a[n - 1] < a[n]) != (a[n] > a[n + 1])
РМ> && n < count - 1)
РМ> ++n;
РМ>}
РМ>// здесь start и end индексы первого и последнего элемента максимальной пилообразной подпоследовательности
РМ>
... << RSDN@Home 1.1 alpha 1 >>