Проблемма с циклом (как подсчитать ранги)

Форум пользователей пакета Mathcad

Модератор: Admin

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Проблемма с циклом (как подсчитать ранги)

Сообщение Alex_cs_gsp » Пн ноя 26, 2007 11:24 pm

Составил программу для подсчета рангов в выборке, которая успешно неработает. Где-то в цикл забралась ошибка, которую я не вижу. Кто понимает в програмировании помогите пожалуйста.
Суть программы такая, что если отсортированый вектор имеет одинаковые подряд идущие элементы (5,9,13,13,13,54) которые имеют соответств. порядковые номера (1,2,3,4,5,6,7), то этим одинаковым элементам (13,13,13) должен даваться средний ранг ((3+4+5)/3). И в итоге должен получиться вектор рангов (1,2,4,4,4,6,7).
Кто понимает в програмировании надеюсь поймет, что я хотел реализовать:
Изображение
Вместо HH должен быть R, чтобы изменялись значения.
Как видно цикл незапускается.
Исходник внизу. Кто разбирается помогите, а то я уже 5 дней этой ерундой занимаюсь. Спасибо.

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Сообщение Alex_cs_gsp » Вт ноя 27, 2007 12:21 am

Вот еще вариант также неработающий
Изображение

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Вт ноя 27, 2007 10:29 am

Последним оператором нужно оставить M.
И, вообще, хорошее правило - помещать в программу оператор return - даже на последней строке.

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Сообщение Alex_cs_gsp » Вт ноя 27, 2007 11:03 am

return, точно. Я просто переэкспортировал с 14 када. В 14 без ретурна работает. Циклы переделал (continiue там все блокировал) на более правильные, но все-равно неработающие.
Изображение
Последний раз редактировалось Alex_cs_gsp Вт ноя 27, 2007 1:21 pm, всего редактировалось 1 раз.

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Сообщение Alex_cs_gsp » Вт ноя 27, 2007 11:15 am

Нашел ошибку(блин как в детском садике). K=0, должно за после while j стоять.

Korobov V I
Сообщения: 1609
Зарегистрирован: Вт янв 21, 2003 5:12 pm

Сообщение Korobov V I » Вт ноя 27, 2007 12:17 pm

О, нашего днепропетровского полку прибыло. Неужели ДНУ?

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Сообщение Alex_cs_gsp » Вт ноя 27, 2007 1:18 pm

Как узнал?? (не просто ДНУ, а еще ФТФ)

Korobov V I
Сообщения: 1609
Зарегистрирован: Вт янв 21, 2003 5:12 pm

Сообщение Korobov V I » Вт ноя 27, 2007 2:10 pm

Alex_cs_gsp писал(а):Как узнал??

Телепатия. Тем более, что корпуса ФТФ и ХФ в 100 м друг от друга.