IPB

Здравствуйте, гость ( Вход | Регистрация )

> "Пила", определение длины пилообразной последовательности
DARKOVER
сообщение 20.4.2008, 17:13
Сообщение #1


Школьник
*

Группа: Продвинутые
Сообщений: 11
Регистрация: 21.4.2007
Город: Ижевск
Учебное заведение: ИжГТУ



Здравствуйте, помогите пожалуйста составить алгоритм нахождения максимальной длины пилообразной последовательности X[p+1] < X[p+2] >X[p+3] < ... >X[p+k]. Пробовал сделать через второй массив нулей и единиц... Т.е. на месте вершины зуба ставить 1, а на месте основания зуба 0. И считать максимальную длину последовательности, но что то не то!!! Так как в 1 последовательности может быть несколько пилообразных... Подскажите пожалуйста как можно это реализовать... Заранее благодарен.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов(1 - 2)
creer
сообщение 21.4.2008, 13:18
Сообщение #2


Студент
**

Группа: Продвинутые
Сообщений: 121
Регистрация: 28.10.2007
Город: Екатеринбург
Учебное заведение: УГТУ-УПИ
Вы: студент



Я бы сделал примерно так.
Пишем функцию, которая по 3 значениям определяет есть зуб, или нет.
Т. е. функция зуб(X1, X2, X3)
Если ((X1<X2)и(X2>X3))или((X1>X2)и(X2<X3)) то это зуб иначе не зуб.
В основной программе пишем цикл от первого значения до последнего - 2 элемента. В нем проверяем, если сейчас зуб, то увеличиваем счетчик на 1, если не зуб или конец последовательности, то сравниваем значение счетчика с предыдущим максимальным значением, если новое больше, то сохраняем новое значение. Небольшой пример ниже.
Код
int mv = 0; //Максимальное значение
int cv = 0; //Текущее значение
for (int i=0; i<100; i++)
{
  if (istooth(a[i], a[i+1], a[i+2])
  {
    cv++;
  }
  else
  {
    if (cv>mv)
      mv = cv;
    cv = 0;
  }
}
if (cv>mv)
  mv = cv;

В mv будем максимальная длина.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DARKOVER
сообщение 21.4.2008, 15:46
Сообщение #3


Школьник
*

Группа: Продвинутые
Сообщений: 11
Регистрация: 21.4.2007
Город: Ижевск
Учебное заведение: ИжГТУ



Большое спасибо...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 22:25

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru