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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2012, 11:12   #1
Блондинка_Таня
 
Регистрация: 21.02.2012
Сообщений: 6
По умолчанию Задача Золотой песок

Помогите решить пожалуйста. Только если возможно, напишите полный код программы в Паскале. Заранее благодарю.
ЗОЛОТОЙ ПЕСОК
Сотрудники завода по производству золотого песка из воздуха решили поправить свое финансовое положение. Они пробрались на склад завода, где хранился золотой песок трех видов. Один килограмм песка первого вида они смогли бы продать за А1 рублей, второго вида – за А2 рублей, а третьего вида – за А3 рублей. Так получилось, что у сотрудников оказались с собой только три емкости: первая была рассчитана на В1 килограмм груза, вторая – на В2 килограмм, а третья – на В3 килограмм. Им надо было заполнить полностью все емкости таким образом, чтобы получить как можно больше денег за весь песок. При заполнении емкостей нельзя смешивать песок разных видов, то есть, в одну емкость помещать более одного вида песка, и заполнять емкости песком так, чтобы один вид песка находился более чем в одной емкости.
Требуется написать программу, которая определяет, за какую сумму предприимчивые сотрудники смогут продать весь песок в случае наилучшего для себя заполнения емкостей песком.

Технические требования.
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: 1 секунда на один тест.

Формат входных данных:
Входной файл INPUT.TXT содержит 6 натуральных чисел А1, А2, А3, В1, В2, В3, записанных в одной строке через пробел. Все числа не превосходят 100.

Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать единственное целое число – сумму в рублях, которую смогут сотрудники заработать в случае наилучшего для себя заполнения емкостей песком.

Примеры файлов входных и выходных данных:
INPUT.TXT OUTPUT.TXT
1 2 3 3 2 1 14

Указания к решению.
Очевидно, что для достижения успеха, необходимо провести упорядочение по убыванию цен за 1 кг песка разных видов. Подобным образом следует упорядочить по объему емкости для хранения песка. Далее следует взять сумму соответствующих произведений. Полученное число и будет соответствовать максимально благоприятной сумме.

Написать на Паскале

Последний раз редактировалось Блондинка_Таня; 21.02.2012 в 11:21.
Блондинка_Таня вне форума Ответить с цитированием
Старый 21.02.2012, 11:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Танечка, а зачем Вы просите решение этой простой задачки (да и алгоритм решения уже приведён)?
неужели для Вас сложно расположить три числа по убыванию ?!
вот если Вам скажут три числа 22 67 33 - вы их сможете расположить по убыванию?
а большего в данной задаче и не требуется!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.02.2012, 11:27   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Судя по количеству тем, Танечка, похоже, решает таким образом кучу заданий на целую группу студентов) может быть и не за просто так)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.02.2012, 13:48   #4
Блондинка_Таня
 
Регистрация: 21.02.2012
Сообщений: 6
По умолчанию

нет, вы ошибаетесь. Танечке просто необходимо в кратчайшие сроки до следующей сессии сдать практику решения этих задачек, так как она собирается в роддом, а написать программу на паскале она не может. То есть теорию она-то прослушала, а вот с практикой как-то не сложилось. Поэтому и обратилась Танечка на этот чудный форум, в надежде, что найдутся люди, которые помогут несчастной беременной девушке, кому будет несложно написать эту "простейшую" программу. Но, видимо, Танечка ошиблась. Все считают себя умными, глядя на задачи, разводят руками со словами "она легкая, там все описано", а вот помочь хоть объяснением как-то никто еще не утрудился. Тогда назревает вопрос: зачем вы здесь создали раздел "Помощь студентам"?
Блондинка_Таня вне форума Ответить с цитированием
Старый 21.02.2012, 15:25   #5
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Наработки где?
Помощь подразумевает, что вы что то уже сделали, а не только переписали задание из книжки в форум.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 21.02.2012, 15:45   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Танечка,
ну не нервничайте Вы так, если Вы действительно беремены, то Вам нервничать категорически нельзя.

Теперь по поводу задачи.
Из всех выложенных Вами задач (ну из тех, что я видел), эта задачка с песком, пожалуй, самая элементарная.
Я не зря задавал Вам вопрос о том, можете ли вы отсортировать три числа в паскале. По сути решение этой задачи и сводится к этой сортировке.
А наработки у Вас просят для того, чтобы Вы (Хотя бы!) поняли, из каких частей состоит программа на Паскале, где там задаются переменные, где основная часть, как записываются операторы, чем они отделяются друг от друга и т.д. и т.п.



впрочем, извольте.вот код программы.
проверяйте, разбирайтесь, сдавайте...

Код:
var
  A1, A2, A3, B1, B2, B3, Tmp : integer;
begin
  Readln(A1, A2, A3, B1, B2, B3);

  while (A2>A1) or (A3>A1) or (A3>A2) do begin

    if (A2>A1) then begin
      tmp := A1;
      A1 := A2;
      A2 := tmp;
    end;

    if A3>A2 then begin
      tmp := A3;
      A3 := A2;
      A2 := tmp;
    end;
    
  end;


  while (B2>B1) or (B3>B1) or (B3>B2) do begin

    if (B2>B1) then begin
      tmp := B1;
      B1 := B2;
      B2 := tmp;
    end;

    if B3>B2 then begin
      tmp := B3;
      B3 := B2;
      B2 := tmp;
    end;
  end;

  WriteLn(A1*B1 + A2*B2 + A3*B3);

  Readln;
end.

Последний раз редактировалось Serge_Bliznykov; 21.02.2012 в 15:59.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.02.2012, 09:44   #7
Блондинка_Таня
 
Регистрация: 21.02.2012
Сообщений: 6
По умолчанию

Спасибо большое за помощь!!!
Блондинка_Таня вне форума Ответить с цитированием
Старый 09.11.2012, 15:19   #8
AgentToxa
Новичок
Джуниор
 
Регистрация: 09.10.2011
Сообщений: 3
По умолчанию

Оппачки, классный алгоритм) А то я, когда решал олимпиаду, много строк исписал, используя примитивную логику)
AgentToxa вне форума Ответить с цитированием
Старый 09.11.2012, 15:30   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вообще-то подобные задачки решаются не методом сортировки, а методами линейного программирования.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача о станках Задача Джонсона Aiga Помощь студентам 4 05.02.2012 21:48
Задача о стрелках (задача Майхелла) Silly Student Помощь студентам 0 14.12.2011 22:20
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51