Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 03:00   #1
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
Сообщение delphi оптимальное распределение параметров

здравствуйте.
как построить алгоритм для получения самого оптимально расположения параметров.

есть общее количество СТАТОВ(задается в Edit)
их нужно распределить между тремя параметрами.
написал ужасный код, что-то считает..но не всегда верно.

помогите написать что-то разумное.
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Старый 27.06.2011, 03:33   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

оптимальное расположение параметров ето как???
Pein95 вне форума Ответить с цитированием
Старый 27.06.2011, 13:00   #3
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
По умолчанию

d=s*e*a // формула там масштабней...но я не думаю что это имеет значение.
s,e,a-параметры
s+e+a=статы
как узнать значение Параметров при заданном количестве Статов , чтоб получать наибольшее D
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Старый 27.06.2011, 13:37   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
их нужно распределить между тремя параметрами.
Покажи всю формулу и типы переменок и констант.
Цитата:
я не думаю что это имеет значение.
Имеет. Например если там смесь вещественных и целых, то стоит их расчет разделить. Сначала высчитать целые, после преобразовать в вещественные и пусть сопроц напряжется. Все зависит от формулы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2011, 14:12   #5
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
По умолчанию

Код:
procedure TMainForm.Button2Click(Sender: TObject);
var
            lmax:  integer;
    imax,s,skill:  real;

   stat,s1,statu:  Integer;
                 k,i:  Integer;
                   j:  Integer;
                 st:  array [1..32800,1..3] of integer;

  fDMG: Integer;
  fDMG1: Integer;
  str,ene,agi:integer;
  kDMG: Integer;
begin

listbox1.Clear;
statu:=78+strtoint(edit8.Text)*500+strtoint(edit10.Text)*5;
lmax:=strtoint(edit5.text);
edit12.Text:=inttostr(statu);

k:=0;
repeat
k:=k+1;
st[k,3]:=k*100;
stat:=statu-st[k,3];

i:=0;
s1:=0;
repeat
i:=i+1;
st[i,1]:=stat-i*100;
st[i,2]:=stat-st[i,1];

str:=st[i,1];
ene:=st[i,2];
imax:=str/4;
imax:=imax+lmax;
// 1
if (checkbox8.Checked=true) and (checkbox3.Checked=true) then
imax:=imax*0.03+imax else
    begin
        if checkbox3.Checked=true then
        imax:=imax*0.02+imax;
    end;
// 2
if checkbox4.Checked=true then
imax:=imax*0.02+imax;
// 3
if combobox1.ItemIndex=combobox2.ItemIndex then
imax:=imax*0.1+imax;
// 4
if checkbox1.Checked=true then
s:=imax*0.3+imax;
// 5
if checkbox2.Checked=true then
s:=s*0.43+s;

skill:=(200+ene/10)/100;
s:=round(s*skill);

    if s>s1 then
       begin
        s1:=round(s);
        j:=i;
       end;

until (st[i,1]<100);

fDMG:=round(s1*st[k,3]); // нужно найти при каких значениях этот параметр будет максимальный

until st[k,3]>statu ;

end;

end.
вот мой корявенький код =)
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Старый 27.06.2011, 14:22   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код может быть и индусский, но сложностей с формулами я особых не вижу...
Разве что неясно для чего тут массив нужен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2011, 14:32   #7
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
По умолчанию

так увидел реализацию.
максимальное S зависящее от st[i,1] st[i,2] нахожу.
дальше возникла сложность..
но потом (наверно) решилась..вот только не при всех значениях STATU , у меня адекватный результат
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальное планирование финансов на Delphi Сергуня Фриланс 1 17.02.2011 17:11
Биноминальное распределение. Delphi boss89 Помощь студентам 6 26.11.2010 10:02
сохранение параметров формы в Delphi TaYgA Помощь студентам 15 25.10.2009 19:13
Посоветуйте оптимальное решение Максим_Леонидович Общие вопросы Delphi 7 24.01.2009 12:12