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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2014, 04:47   #1
Марк.
Новичок
Джуниор
 
Регистрация: 16.11.2014
Сообщений: 3
Восклицание Золотой песок. Java

Вторую неделю бьюсь над задачей. Помогите пожалуйста;
Сотрудники завода по производству золотого песка из воздуха решили поправить свое финансовое положение. Они пробрались на склад завода, где хранился золотой песок трех видов. Один килограмм золотого песка первого вида они смогли бы продать за A1 рублей, второго вида – за A2 рублей, а третьего вида – за A3 рублей. Так получилось, что у сотрудников оказалось с собой только три емкости: первая была рассчитана на B1 килограмм груза, вторая на B2 килограмм, а третья на B3 килограмм. Им надо было заполнить полностью все емкости таким образом, чтобы получить как можно больше денег за весь песок. При заполнении емкостей нельзя смешивать песок разных видов, то есть, в одну емкость помещать более одного вида песка, и заполнять емкости песком так, чтобы один вид песка находился более чем в одной емкости. Требуется написать программу, которая определяет, за какую сумму предприимчивые сотрудники смогут продать весь песок в случае наилучшего для себя заполнения емкостей песком.
Марк. вне форума Ответить с цитированием
Старый 16.11.2014, 05:53   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А что над ней биться? Тем более неделю... дорогой*большая_емкость + средней*средняя_емкость + дешевый*маленькая_емкость
p51x вне форума Ответить с цитированием
Старый 16.11.2014, 06:01   #3
Марк.
Новичок
Джуниор
 
Регистрация: 16.11.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А что над ней биться? Тем более неделю... дорогой*большая_емкость + средней*средняя_емкость + дешевый*маленькая_емкость
Это-то понятно, но программа должна определить самый дорогой песок и самую большую стоимость, потом умножить одну переменную на вторую. И так до конца...
Марк. вне форума Ответить с цитированием
Старый 16.11.2014, 06:17   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Отсортировать по возрастанию 2 массива по 3 элемента, поэлементно перемножить и сложить. Дерзайте.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 16.11.2014, 06:41   #5
Марк.
Новичок
Джуниор
 
Регистрация: 16.11.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Отсортировать по возрастанию 2 массива
Почему 2, когда их 3. И не могли бы вы мне помочь...
Марк. вне форума Ответить с цитированием
Старый 16.11.2014, 15:59   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

1) Откуда три массива-то? Массив стоимостей, массив емкостей
2) Не пишу на Java
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 16.11.2014, 21:40   #7
Maria_Thess
Новичок
Джуниор
 
Регистрация: 16.11.2014
Сообщений: 1
По умолчанию

Так подойдет?

Код:
package goldsand;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

/**
 *
 * @author Maria
 */
public class GoldSand {


    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        
        ArrayList <Double> costs=new ArrayList ();
        ArrayList <Double> bags=new ArrayList ();
        
        for (int i=0; i<3; i++){
            System.out.printf("Give the %d sand cost", i+1);
            System.out.println();
            costs.add(sc.nextDouble());
            
        }
        for (int i=0; i<3; i++){
            System.out.printf("Give the %d bag kilos", i+1);
            System.out.println();
            bags.add(sc.nextDouble());           
        }
        
        Collections.sort(costs);
        Collections.sort(bags);
        int sum=0;
        System.out.printf("The best variants are\n");
        for (int i=0; i<3; i++){
            double res=costs.get(i)*bags.get(i);
            sum+=res;
            System.out.printf("To the bag "+bags.get(i)+" kilo you should put sand "+costs.get(i)+". The price of the bag is "+res);
            System.out.println();    
        }
        
        System.out.printf("The best final price is "+ sum);
    }
}
Maria_Thess вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача Золотой песок Блондинка_Таня Помощь студентам 8 09.11.2012 15:30
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59