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 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
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 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
TiM
Старичок
offline
Опыт:
8,594Активность: |
ага, сортировка-гемморойная штука. я до неё только в 10ом классе додумался |
07.02.2006, 20:49 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Ну не сказал бы... Обменные сортировки это лажа редкостная - они интуитивно понятные, даже думать не надо. Мне, впрочем, последнее время больше всего нравится бинарный поиск в отсортированном массиве - то есть по сути массив сортируется в момент добавления элемента. Работает очень быстро для любых обьемов данных скорость порядка Log(2,N) - тоже достаточно простой и понятный принцип, абсолютно по-другому дело состоит, скажем с сортировкой Шелла, однако если понять смысл, то все становится очевидно |
08.02.2006, 00:54 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Exerus
offline
Опыт:
3,129Активность: |
Обмен правильный забыл сказать что HeroBattle[9] это пустая ячейка и играет роль как у тебя HEROU_TEMP...щас попробую исправить остальные ошибки...Спасибо. |
08.02.2006, 13:21 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Да ну, где ж правильный, я понял про 9 ячейку, ошибка в строке Set HeroBattle[(J + 1)] = HeroBattle[J] |
08.02.2006, 14:05 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|