![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с алгоритм оптимального размещения [Delphi]
-=OpeR=- © (2006-06-05 22:01:00)Данн прямоугольник размерами x,y. Имеются N1 прямоуголиников с размерами x1,y1 (где x1<x, y1<y), N2 прямоуголиников с размерами x2,y2 (где x2<x, y2<y) и т.д. Необходимо разместить прямоугольники таким образом, чтобы осталось минимальное свободное пространство. Прямоугольники можно поворачивать на 90 градусов (стороны прямоугольников паралельны сторонам исходного прямоугольника x,y)
-=OpeR=- (2006-06-23 10:31:00) [1]После редактирования получилось:
Var
a:array[1..5] of integer;
s,i: integer;
begin
a[1]:=4;
s:=0;
for i:=2 to 5 do
begin
a[i]:=a[i-1]*2;
end;
for i:=1 to 5 do
begin
If i mod 2 <> 0 then
a[i]:=a[i]*-1;
end;
for i:=1 to 5 do
begin
s:=s+a[i];
end;
writeln; \\ В Delphi вместо этих трех строчек я написал
writeln('summa=',s); \\ следующее: p:=inttostr(s);
readln; \\ label1.caption:=p;end;
end.
В результате работы выдает ответ -44
-=OpeR=- (2006-06-23 10:21:00) [2]Сначала исправь ошибки, у тебя их в коде полно:
Program Project 2;
uses
SysUtils
var
a:=array[1..5] of integer; \\ Равно в обьявлении переменных не надо
s,i: integer;
begin
a[1]:=4 \ \ Не забывай ставить ;
s:=0;
for i:=2 to 5 do
a[i]:=a[i+1]*2; \\ Насколько я понимаю, ты забил в первый элемент массива \\4, а остальные у тубя пустые, получается что a[2]:=a[3]*2 - но a[3] \\пустая ячейка, может поставить a[i]:=a[i-1]*2; , тогда a[2]:=a[1]*2,
a[3]:=a[2]*2 и т. д.
for i:=1 to 5 do
case i of
1,3,5: a [i]:a=-a[i]; \\ Вообще муть какая то, может так: a [i]:=-a[i];
end. \\ Точки быть не может \\ Не забывай ставить ;for i:=2 to 5 do
writeln ('9[',i,']',a[i]);
for i:=1 to 5 do
s:=s+a[i];
writeln \\ Не забывай ставить ;writeln('summa=',s);
readln;
end.
VolanD666 (2006-06-15 19:56:00) [3]Че?
Gashish (2006-06-15 19:46:00) [4]Люди помогите плиз не знаю в чем ошибка выходит:
1) Y=-4+8-16+32-64+...
Program Project 2;
uses
SysUtils
var
a:=array[1..5] of integer;
s,i: integer;
begin
a[1]:=4
s:=0;
for i:=2 to 5 do
a[i]:=a[i+1]*2;
for i:=1 to 5 do
case i of
1,3,5: a [i]:a=-a[i];
end.
for i:=2 to 5 do
writeln ('9[',i,']',a[i]);
for i:=1 to 5 do
s:=s+a[i];
writeln
writeln('summa=',s);
readln;
end.
kernel (2006-06-13 11:53:00) [5]:)
VolanD666 (2006-06-13 11:52:00) [6]XProger, это плагиат!
:)
Мимоходец (2006-06-13 04:40:00) [7]КОД тебе сказали запости. А не ля-ля.
XProger (2006-06-13 03:23:00) [8]Мимоходец. http://www.blackpawn.com/texts/lightmaps/default.html
Мимоходец (2006-06-13 01:27:00) [9]
> -=OpeR=- (12.06.06 20:03) [4]
> спасибо
Ну и как, разместил? Если да - запости код.
-=OpeR=- (2006-06-12 20:03:00) [10]спасибо
VolanD666 (2006-06-10 05:08:00) [11]http://www.blackpawn.com/texts/lightmaps/default.html
-=OpeR=- (2006-06-06 10:35:00) [12]а по подробней можно
TLightMap (2006-06-06 01:27:00) [13]Короче опять про упаковку лайтмэпов.