Ю2.10

Задача: Посылка. Можно ли коробку размером  [latex]a \times b \times c[/latex]  упаковать в посылку размером  [latex]r \times s \times t[/latex] ? «Углом» укладывать нельзя.

Тесты:

a b c r s t result
1 1 1 3 3 3 Package is fitting to the box
23 2 4 54 45 22 Package is fitting to the box
0 0 0 1 1 0 Package cannot fit !
109 122 222 11 22 33 Package cannot fit !
13 43 21 55 76 89 Package is fitting to the box
23 15 17 44 81 92 Package is fitting to the box

 

Исходный  код программы:

 

Код программы на языке Java:

 

Ссылка http://ideone.com/cRnZc7

Программа состоит из следующих частей:

  1. Объявление переменных a,b,c,r,s,t типа float для хранения входных данных
  2. Ввод пользователем значений переменных a, b, c, r, s, t с помощью scanf
  3. Вывод исходных данных
  4. Сравниваем рёбра пакета с каждым ребром коробки
  5. Завершение программы

 

Программа сверяет размеры коробки ( package ) с размерами посылки ( box ). Если размеры коробки меньше, чем посылки, программа сообщает о возможности упаковки коробки в посылку. В противном случае выводиться сообщение о невозможности упаковки коробки данных размеров в посылку.

Ссылка на ideone.com :  http://ideone.com/XYcV5W

Швандт Максим Альбертович
Швандт Максим Альбертович

Latest posts by Швандт Максим Альбертович (see all)

8 thoughts on “Ю2.10

  1. — Зачем нужна функция код вызова которой, длиннее кода самой функции?
    — Зачем нужна функция, которая вызывается только один раз?
    — Вы несколько раз пишите про объём, но вычисления объёма не проводите. Это и не нужно.
    — Вы пишите колоссально длинный текст, напоминающий акростих. Второе мне нравится, а первое не очень.
    — Но самое ужасное — Вы из-за этой декорации забыли решить задачу. Просто не учли, что коробку можно размещать тремя способами.

    P.S. Мы запускаем программу в пакетном режиме в IDEone входные данные читаются из stdin. Кому Вы адресуете все эти диалоги? Они очень аккуратные, но выводятся все разом в выходной поток перед результатом и только запутывают дело. Порадуйте меня, напишите решение в 5 строк 🙂
    Если не хотите радовать, сойдет и так, только учтите все способы «ровной, не под углом» укладки коробки в посылку.

    • Замечания отработаны:
      1)Функцию убрал, заменил на логическое выражение под if
      2)Логическое выражение учитывает повороты, проверяет все рёбра, ( см. комментарии к if )
      3) Убрал все лишние printf

  2. Отлично!
    Конечно не 5 строк, но всё очень легко читается. У Вас откуда-то стиль оформления кода из 90-х годов. Этот стиль был очень наглядным и понятным. Мне это нравится.

    Но есть проблема. Условие записано неверно. Теперь программа не проходит Ваши собственные тесты.
    Кстати тесты нужны были, чтобы их запускать. Нужно было проверить. Уже второй должен дать ошибочный ответ.

    Если можно, вставьте в конце ссылку на Ваш код в ideone

  3. Вы меня неправильно поняли.
    У Вас не тест неправильный, а программа. Поставьте тест как было, пожалуйста.

    Ваше условие утверждает, что коробку можно упаковать в ящик только если все ее размеры меньше всех размеров ящика. Это не так.

    Посмотрим второй тест: (23 < 54) и (2 < 45) и (4 < 22). Так почему "too big"? Явно поместится.