IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> упаковка коробки
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


помогите решить такую задачу: можно ли коробку размером a*b*c упаковать в посылку r*s*t ? Углом укладывать нельзя.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Лёха

Репутация: -  0  +


Цитата(MiH@N @ 23.01.2008 21:39) *

помогите решить такую задачу: можно ли коробку размером a*b*c упаковать в посылку r*s*t ? Углом укладывать нельзя.


Да - если коробка будет меньше посылки smile.gif
Подробнее опиши что за коробка и посылка и каким образом её класть
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


размеры посылки и коробки вводить с клавы.усё..больше условий нет. nea.gif
(я так понимаю её можно вертеть полюбому.)

Сообщение отредактировано: MiH@N -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Лёха

Репутация: -  0  +


Так падайдёт:

X:=StrToint(Edit1.Text)*StrToint(Edit2.Text)*StrToint(Edit3.Text);
Y:=StrToint(Edit4.Text)*StrToint(Edit5.Text)*StrToint(Edit6.Text);

if x<y then
ShowMessage('Коробка помещается')
else
ShowMessage('Коробка помещается')

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


не. я тож об этом варианте думал. (образно :у коробки от конфет <у коробки от обуви но эт не значит что коробка конфет поместится в коробку от обуви) no1.gif

я тут коечто наклепал но с глюками (как изменить?):
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,r,s,t : real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
r:=StrToFloat(Edit4.Text);
s:=StrToFloat(Edit5.Text);
t:=StrToFloat(Edit6.Text);
if a>r or a>s or a>t or b>r or b>s or b>t or c>r or c>s or c>t <---ошибка тута
then edit7.Text:='непоместица'
else edit7.Text:='поместица';
end;



Сообщение отредактировано: MiH@N -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Лёха

Репутация: -  0  +



Помойму всё!
if (a>r) or (a>s) or (a>t) or (b>r) or (b>s) or (b>t) or (c>r) or (c>s) or (c>t)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


всмысле всё? вродеж скобки необязательны..хотя ща попробую..

Сообщение отредактировано: MiH@N -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


1. Отсортировать размеры коробки и посылки, примерно так:
if a < b then swap(a,b);
if b < c then swap(b,c);
if a < b then swap(a,b);
2. Сравнить соответсьвующие размеры, т.е.
if (a<r) and (b<s) and (c<t) then...
3. Надо писать либо "Не поместится" либо "нипаместицца".
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


действительно всё.спс. good.gif стоп...не всё...решение неправ-но.

Добавлено через 2 мин.
а что значит "if a < b then swap(a,b);"--эта строка??



Сообщение отредактировано: MiH@N -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(MiH@N @ 23.01.2008 22:44) *
а что значит "if a < b then swap(a,b);"--эта строка??
Очевидно: "Если a меньше b, то поменять местами значения a и b".
Например, так:
procedure swap(var a,b:float);
var tmp : float;
begin
tmp := a;
a := b;
b := tmp;
end;


Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Тогда уж скорее так:
Код
procedure swap(vara,b:float);
var tmp : float;
begin
  tmp := a;
  a := b;
  b := tmp;
end;


Сообщение отредактировано: hardcase -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Знаток
****

Группа: Пользователи
Сообщений: 396
Пол: Мужской

Репутация: -  9  +


Цитата(Pirate @ 23.01.2008 21:34) *

if (a>r) or (a>s) or (a>t) or (b>r) or (b>s) or (b>t) or (c>r) or (c>s) or (c>t)


Эта идея была правильной, только оформлена не хорошо.
А если попробовать так:
( (a>r) and (b>s) and (c>t) ) or () or ()


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 8:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name