Сейчас 01:02:16 Воскресенье, 28 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » min max (Наибольший и наименьший элемент массива)
min max
Manko_OДата: Воскресенье, 30 Января 2011, 17:01:31 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
Не находит min

Code
local integer array dis
local integer array max
local integer array min
local integer i = 0
set dis[0] = n
set dis[1] = n
set dis[2] = n
set dis[3] = n
set dis[4] = n
set dis[5] = n
set dis[7] = n
set dis[8] = n
set dis[9] = n
set dis[10] = n
//
loop

     if dis[i]> max[0]  then
   set max[0] = dis[i]
   set max[1] = i
  endif
//
     if dis[i]<min[0] then
   set min[0] = dis[i]
   set min[1] = i
  endif
//
exitwhen i == n
set i = i + 1
endloop

call DisplayTextToForce( GetPlayersAll(), "Наибольшее число - " + I2S(max[0])+ ". В ячейке -" + I2S(max[1]) )
call DisplayTextToForce( GetPlayersAll(), "Наименьшее число - " + I2S(min[0])+ ". В ячейке -" + I2S(min[1]) )
 

AjaccioДата: Воскресенье, 30 Января 2011, 17:22:17 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Code
local integer array dis
local integer max
local integer min
local integer i = 0
set dis[0] = n
...
set dis[9] = n
set min = 2147483647
loop
     exitwhen i > m
      if dis[i] > max  then
           set max = dis[i]
     endif
     if dis[i] < min then
           set min = dis[i]
     endif
     set i = i + 1
endloop

Я бы сделал примерно так.
Осторожно! Возможны ошибки синтаксиса, ибо не проверил.

Добавлено (30-01-2011, 17:12)
---------------------------------------------
И ещё неплох бы set max = 0.

Добавлено (30-01-2011, 17:22)
---------------------------------------------
А если ещё и среди отрицательных значений, то set max = -2147483648.
Или вообще не устанавливать значение. Правда может тогда и не заработать.


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » min max (Наибольший и наименьший элемент массива)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz