Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Вниз

Парамерт функции   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2008-06-26 10:28) [40]

Вопрос более не актуален, теперь надо идти на форум prizyv.ru


 
Kaer ©   (2008-06-26 10:36) [41]


> Anatoly Podgoretsky

у меня есть еще целый день, я же сказал чтобы она была готова, а не что она будет сдаваться :-)


 
Kaer ©   (2008-06-26 10:37) [42]

вот ближе к вечеру тему думаю можно закрыть


 
Dennis I. Komarov ©   (2008-06-26 10:37) [43]

> [38] Kaer ©   (26.06.08 09:43)


ССЗБ


 
Kaer ©   (2008-06-26 10:38) [44]


> ССЗБ

а?


 
Dennis I. Komarov ©   (2008-06-26 10:38) [45]

Для начала попробуй описать, что ты хочешь от функции получить

ЗЫ
  Код чей?


 
Kaer ©   (2008-06-26 10:40) [46]

код мой, мне нужен алгоритм который бы определял сколько нужно вложить денег в отрасль


 
Dennis I. Komarov ©   (2008-06-26 10:40) [47]

> [44] Kaer ©   (26.06.08 10:38)

Видишь у него голубые штаны? Должен присесть три раза и слелать "КЮ"


 
Dennis I. Komarov ©   (2008-06-26 10:41) [48]

> [46] Kaer ©   (26.06.08 10:40)

Функция не знает ни о отрослях, и тем более о деньгах... Попробуй еще раз


 
Kaer ©   (2008-06-26 10:44) [49]


program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
 i,j: integer;
 ar: array[1..4,0..4] of integer;

function Rus(mes: string):string;
var
 t: integer;
begin
 for t:=1 to length(mes) do
 case mes[t] of
   "A".."ï" : mes[t] := Chr(Ord(mes[t]) - 64);
   "ð".."ÿ" : mes[t] := Chr(Ord(mes[t]) - 16);
 end;
 Rus := mes;
end;

function Maximum(const Items:array of integer; ItemIndex: integer):integer;
var j:integer;
begin
if length(Items) = 0 then exit;
result:=Low(Items);
for j:=Low(Items) to High(Items) do
 if result<Items[j] then result:=Items[j];
end;

function W(index,count: integer): integer;
var
i:integer;
Items:array of integer;
begin
if index=0 then exit;
SetLength(Items,count+1);
for i:=Low(Items) to High(Items) do
  Items[i]:=ar[index,count-i]+W(index-1,i);
result:=Maximum(Items,count);
end;

begin
 writeln(Rus("&#199;&#224;&#228;&#224;&#247;&#224; &#238; &#226;&#235;&#238;&#230;&#229;&#237;&#232;&#232; &#241;&#240;&#229;&#228;&#241;&#242;&#226;"));

 ar[1,0]:=0;   ar[2,0]:=0;   ar[3,0]:=0;   ar[4,0]:=0;
 ar[1,1]:=40;  ar[2,1]:=50;  ar[3,1]:=30;  ar[4,1]:=60;
 ar[1,2]:=50;  ar[2,2]:=70;  ar[3,2]:=55;  ar[4,2]:=75;
 ar[1,3]:=65;  ar[2,3]:=85;  ar[3,3]:=70;  ar[4,3]:=95;
 ar[1,4]:=75;  ar[2,4]:=95;  ar[3,4]:=95;  ar[4,4]:=110;

 for j:=1 to 4 do
 begin
   writeln;
   for i:=0 to 4 do
   begin
     write("Max W");
     write(j);
     write("(");
     write(i*100);
     write(") = ");
     writeln(w(j,i));
   end;
 end;

 writeln;
 for i:=4 downto 1 do
 begin
   write(Rus("Отрасль  "));
   write(i);
   writeln(" = 100");
 end;


 writeln;
 write(Rus("&#196;&#235;&#255; &#231;&#224;&#226;&#229;&#240;&#248;&#229;&#237;&#232;&#255; &#237;&#224;&#230;&#236;&#232;&#242;&#229; "));
 write("<Enter>...");
 readln;
end.


выделено жирым то что тут не должно быть, программа должна сама определить сколько куда, на основе расчетов фун. W, как это сделать я не знаю, мне подсказывали дополнительный паремрт в функцию максимума добавить но я не пойму как это может мне помоч


 
Dennis I. Komarov ©   (2008-06-26 10:52) [50]

> [49] Kaer ©   (26.06.08 10:44)

Твой код - это плод только твоего больного воображения.

Если ты не хочешь помочь себе, то никто этого уже не сможет...


 
Kaer ©   (2008-06-26 10:55) [51]


> Dennis I. Komarov

а почему больного? и вобщето я себе очень хочу помоч


 
Kaer ©   (2008-06-26 11:03) [52]

помоему меня тут не правильно поняли, я делаю это не для себя, это для моей подруги, просто она попросила о помощи в написании программы так как сама не может, я не стал бы брасться за это но ей больше не к кому обратиться. Если прогрумму лучше чем есть сделать не получится то, я конечно посоветуюсь с подругой, но думаю придется накатать туда какого нибудь бредового кода, чтобы позапутаней и надеятся что препод действительно ничего не знает, а не только делает вид


 
Dennis I. Komarov ©   (2008-06-26 11:03) [53]

> а почему больного?

Прочитай сначала ветку :) Здорового я ничего не нашел. Ну да ладно...

Приведу пример:

Функция возращающая значение большего и двух целых чисел:

function Max(a, b: Integer): Integer;
begin
 if a > b then Result:=a else Result:=b;
end;


 
Dennis I. Komarov ©   (2008-06-26 11:05) [54]

> [52] Kaer ©   (26.06.08 11:03)

:) Сполз под стул :))))))))))))


 
Kaer ©   (2008-06-26 11:34) [55]


> Dennis I. Komarov


> Функция возращающая значение большего и двух целых чисел:

двух целых чисел или из двух?


 
Dennis I. Komarov ©   (2008-06-26 11:35) [56]

> [55] Kaer ©   (26.06.08 11:34)

из конечно. Вот теперь опиши так же свою


 
Kaer ©   (2008-06-26 11:51) [57]

боюсь если вы не знаете теории меж отраслевого баланса это будет трудно. Но я не боюсь трудностей :-)
Так, это функция расчета(меня в ней все устраивает:-))

function W(index,count: integer): integer;
var
i:integer;
Items:array of integer;
begin
if index=0 then exit;
SetLength(Items,count+1);
for i:=Low(Items) to High(Items) do
  Items[i]:=ar[index,count-i]+W(index-1,i);
result:=Maximum(Items);
end;

это функция нахождения максимума(в ней меня тоже все устраивает:-))

function Maximum(const Items:array of integer):integer;
var j:integer;
begin
if length(Items) = 0 then exit;
result:=Low(Items);
for j:=Low(Items) to High(Items) do
 if result<Items[j] then result:=Items[j];
end;

они делает вот что
W4(400) = max(q4(400) + W3(0); q4(300) + W3(100); q4(200) + W3(200); q4(100) + W3(300); q4(0) + W3(400)) = max(110 + 0; 95 + 50; 75 + 90; 60 + 120; 0 + 145) = 180.
W4(400) - в 4 отрасли вкладывается 400 уе. функция просчитывает оптимальное соотношение.
Жирыным виделено место, где максимальное число и которое вернется функцией макс - 180. Как видите отрасли 4 (q4) нужно вложить 100. а остальное распределить между 3 другими отраслями(w3(300)). Я не знаю как отследить то что именно в 4 отрсль вложется 100. а остальное уйдет дальшев другие отрасля.
Я не могу ивидель алгоритма как это можно осуществить. Может нужно написать новую функцию, или изменить старые?


 
Dennis I. Komarov ©   (2008-06-26 11:58) [58]

> [57] Kaer ©   (26.06.08 11:51)

Да не нужен мне твой баланс со своей теорией.
Вырази то что хочешь математически


 
Kaer ©   (2008-06-26 12:02) [59]

q4(100) мне надо отлавить вот это значение, всего таких значений будет 4(q1,q2,q3,q4)


 
Kaer ©   (2008-06-26 12:03) [60]

если бы я знал как это выразить математически я бы не стал спрашивать алгоритм :)


 
clickmaker ©   (2008-06-26 12:06) [61]

а как можно определить рентабельность отрасли, не зная, насколько быстро и прибыльно она будет окупаться?
тогда единственный вариант - тупо поделить 400 на 4


 
Kaer ©   (2008-06-26 12:11) [62]


> clickmaker

вопщето для этого есть таблица, вот она

 ar[1,0]:=0;   ar[2,0]:=0;   ar[3,0]:=0;   ar[4,0]:=0;
 ar[1,1]:=40;  ar[2,1]:=50;  ar[3,1]:=30;  ar[4,1]:=60;
 ar[1,2]:=50;  ar[2,2]:=70;  ar[3,2]:=55;  ar[4,2]:=75;
 ar[1,3]:=65;  ar[2,3]:=85;  ar[3,3]:=70;  ar[4,3]:=95;
 ar[1,4]:=75;  ar[2,4]:=95;  ar[3,4]:=95;  ar[4,4]:=110;


первый парамерт отрасль, второй количестов вложений в неё(1=100, 2=200 и тд)


 
clickmaker ©   (2008-06-26 12:19) [63]

> вопщето для этого есть таблица, вот она

а, ну да, ну да...
и в чем проблема? Найти максимальную суммы прибыли по всем четырем, имея граничное условие "сумма индексов не больше 4" ?


 
Kaer ©   (2008-06-26 12:25) [64]


> clickmaker

максимальную сумму прибыли я нахожу = 180, я не нахожу в какие отрасли при этом скоко было вложено


 
clickmaker ©   (2008-06-26 12:34) [65]

> [64] Kaer ©   (26.06.08 12:25)

то есть? у тебя же индексы есть 1-4?


 
Kaer ©   (2008-06-26 12:37) [66]

индексы это номер отрасли, а не то скока в неё вложили


 
Kaer ©   (2008-06-26 12:37) [67]

мутная задача, да? :-)


 
Галинка   (2008-06-26 12:41) [68]

задача нормальная. Алгорит мутный.


 
clickmaker ©   (2008-06-26 12:41) [69]

> [66] Kaer ©   (26.06.08 12:37)


> первый парамерт отрасль, второй количестов вложений в неё(1=100,
> 2=200 и тд)

это что?


 
clickmaker ©   (2008-06-26 12:42) [70]

ну то есть неправильно я выразился: не индекс, а "номер вложения"


 
Slym ©   (2008-06-26 14:19) [71]

program Project1;

{$APPTYPE CONSOLE}

uses Windows;

var ar: array[1..4,0..4] of integer; //Таблица

function Rus(const Str:string):string;
begin
 SetLength(result,Length(Str));
 CharToOEM(PChar(Str),PChar(result));
end;

//Функция возвращающая максимум из входных параметров
function Maximum(const Items:array of integer):integer;
var i:integer;
begin
 if length(Items) = 0 then exit;
 result:=Low(Items);
 for i:=Low(Items) to High(Items) do
   if Items[result]<Items[i] then result:=i;
end;

function W(index,count:integer;out choise:integer): integer;
var
i:integer;
Items:array of integer;
begin
 result:=0;
 if index=0 then exit;
 SetLength(Items,count+1);
 for i:=Low(Items) to High(Items) do
   Items[i]:=ar[index,i]+W(index-1,count-i,choise);
 choise:=Maximum(Items);
 result:=Items[choise];
end;

procedure SupaPupaW;
var i,s,c,Gt:integer;
begin
 s:=4;Gt:=0;
 for i:=4 downto 1 do
 begin
   W(i,s,c);
   Gt:=Gt+ar[i,c];
   writeln(Rus("Отрасль "),i, "=",c*100);
   s:=s-c;
 end;
 writeln(Rus("Итого "),Gt);
end;

begin
writeln(Rus("Задача о вложении средств"));

//Присвоение массиву значений таблицы
ar[1,0]:=0;   ar[2,0]:=0;   ar[3,0]:=0;   ar[4,0]:=0;
ar[1,1]:=40;  ar[2,1]:=50;  ar[3,1]:=30;  ar[4,1]:=10;//ar[4,1]:=60;
ar[1,2]:=50;  ar[2,2]:=70;  ar[3,2]:=55;  ar[4,2]:=75;
ar[1,3]:=65;  ar[2,3]:=85;  ar[3,3]:=70;  ar[4,3]:=95;
ar[1,4]:=75;  ar[2,4]:=95;  ar[3,4]:=95;  ar[4,4]:=110;

SupaPupaW;
write(Rus("Для завершения нажмите "));
write("<Enter>...");
readln;
end.


 
Slym ©   (2008-06-26 14:21) [72]

Kaer ©   (26.06.08 11:03) [52]
это для моей подруги

с тебя хотябы ее ню фотка :)


 
Anatoly Podgoretsky ©   (2008-06-26 14:26) [73]

Это не мой мотороллер.


 
Kaer ©   (2008-06-26 15:06) [74]

Оно работает! Оно работает!!!


 
Kaer ©   (2008-06-26 15:07) [75]


> Slym

Спасибо нашим поварам за то что вкусно варят нам!


 
Игорь Шевченко ©   (2008-06-26 20:53) [76]


> помоему меня тут не правильно поняли, я делаю это не для
> себя, это для моей подруги, просто она попросила о помощи
> в написании программы так как сама не может


подруга не может, ты не можешь...Кузнеца пробовал пригласить ?


 
Игорь Шевченко ©   (2008-06-26 20:54) [77]

Slym ©   (26.06.08 14:19) [71]

А подруга-то не твоя нифига


 
Anatoly Podgoretsky ©   (2008-06-26 21:31) [78]

> Игорь Шевченко  (26.06.2008 20:53:16)  [76]

А нафига нам кузнец, не кузнец нам не нужен.


 
Германн ©   (2008-06-26 21:35) [79]


> Anatoly Podgoretsky ©   (26.06.08 21:31) [78]

Тогда сантехника.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.61 MB
Время: 0.01 c
2-1214466680
Муслик
2008-06-26 11:51
2008.07.27
Из файла в таблицу


2-1214419508
Igor23
2008-06-25 22:45
2008.07.27
CMD+ShellExecute


2-1214822127
Igor23
2008-06-30 14:35
2008.07.27
Работа с IdHTTP


2-1214411405
Trange
2008-06-25 20:30
2008.07.27
Картинка в TMenuItem


15-1213021834
Randew
2008-06-09 18:30
2008.07.27
Ну загружается компьютер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский