XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Exerus

offline
Опыт: 3,129
Активность:
Пузырь
Вот пытаюсь отсортировать массив героев по кол-ву ловкости... СОВСЕМ ЗАПУТАЛСЯ... столько понапихал... вроде ошибка где-то тут.. посматрире кому не лень

For each (Integer A) from 0 to k, do (Actions)
Цыкл - Действия
For each (Integer B) from 0 to k, do (Actions)
Цыкл - Действия
Set J = (8 - (Integer B))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
(Real((Ловкость of HeroBattle[J] (Включая bonuses))))больше или равно (Real((Ловкость of HeroBattle[(J + 1)] (Включая bonuses))))
То - Действия
Set HeroBattle[9] = HeroBattle[J]
Set HeroBattle[(J + 1)] = HeroBattle[J]
Set HeroBattle[J] = HeroBattle[9]
Иначе - Действия
------------

Был бы благодарен

Exerus добавил:
Вот блин весь массив заполняеться юнитом с большей ловкостью...
Старый 07.02.2006, 18:43
NETRAT

offline
Опыт: 83,712
Активность:
Что за бред? Бубльсорт, да еще и неправильный :?
For each (Integer A) from 0 to k, do (Actions)
Цыкл - Действия
For each (Integer B) from (Integer A) to k, do (Actions)
Цыкл - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
(Real((Ловкость of HeroBattle[(Integer A)] (Включая bonuses))))больше или равно (Real((Ловкость of HeroBattle[(Integer B)] (Включая bonuses))))
То - Действия
set HERO_TEMP=HeroBattle[(Integer A)]
Set HeroBattle[(Integer A)] = HeroBattle[(Integer B)]
Set HeroBattle[(Integer B)] = HERO_TEMP
Иначе - Действия

HERO_TEMP - переменная типа unit для обмена местами. Обмен у тебя точно неверный

NETRAT добавил:
Use the JASS, Luke
Старый 07.02.2006, 19:53
TiM
Старичок
offline
Опыт: 8,594
Активность:
ага, сортировка-гемморойная штука. я до неё только в 10ом классе додумался
Старый 07.02.2006, 20:49
NETRAT

offline
Опыт: 83,712
Активность:
Ну не сказал бы... Обменные сортировки это лажа редкостная - они интуитивно понятные, даже думать не надо. Мне, впрочем, последнее время больше всего нравится бинарный поиск в отсортированном массиве - то есть по сути массив сортируется в момент добавления элемента. Работает очень быстро для любых обьемов данных скорость порядка Log(2,N) - тоже достаточно простой и понятный принцип, абсолютно по-другому дело состоит, скажем с сортировкой Шелла, однако если понять смысл, то все становится очевидно
Старый 08.02.2006, 00:54
Exerus

offline
Опыт: 3,129
Активность:
Обмен правильный забыл сказать что HeroBattle[9] это пустая ячейка и играет роль как у тебя HEROU_TEMP...щас попробую исправить остальные ошибки...Спасибо.
Старый 08.02.2006, 13:21
NETRAT

offline
Опыт: 83,712
Активность:
Да ну, где ж правильный, я понял про 9 ячейку, ошибка в строке Set HeroBattle[(J + 1)] = HeroBattle[J]
Старый 08.02.2006, 14:05
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:25.