Форум программистов, компьютерный форум CyberForum.ru

Найти минимальную сумму - C++

Войти
Регистрация
Восстановить пароль
 
finnik
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 33
12.12.2012, 00:37     Найти минимальную сумму #1
задача: у компании есть m поставщиков молока. известно,что каждый i - ый поставщик может продать ровно a [i] литров по цене p[i] за литр. за какую наименьшую сумму компания сможет приобрести n литров молока?

у меня получается только это:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
while (l<>n) //пока кол-во литров купленное на данный момент не равняется n литрам которые надо всего купить.
{
l=0; // кол-во литров купленное фирмой на данный момент, на данном шаге.
min=p[1]; // пусть min - это минимальная цена , цена 1-го поставщика.
for (i=1; i<n;i++)
{
if (p[i]<min) //если цена i-го меньше мин., то 
{ 
l=l+a[i]; // к купленному на данный момент в литрах прибавляем литры, которые может продать этот поставщик
min=p[i]; // и мин.цена теперь = цене этого поставщика.
}
s=s+l*min; // а здесь считаем сколько денег потрачено.
}
я не могу понять, как сделать так, чтобы у поставщика , у которого уже купили, больше нельзя было покупать.
подскажите пожалуйста..

p.s. если у меня ошибки в синтаксисе языка, не обращайте внимания. эта задача не совсем по программированию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 00:37     Найти минимальную сумму
Посмотрите здесь:

C++ Найти минимальную сумму положительных элементов диагоналей, параллельных побочной диагонали
Найти минимальную сумму диагонали матрицы, параллельной побочной C++
C++ По заданному числу n вычислить минимальную сумму чисел
C++ Расспаралеллеливание - найти минимальную сумму элементов по строкам
C++ Найти минимальную сумму у.е., заплатив которую игрок может попасть в правый нижний угол
Определять минимальную сумму между двумя соседними элементами массива C++
C++ Найти сумму и количество цифр числа, а также максимальную и минимальную его цифры
C++ Найти минимальную сумму в матрице по условию. Написать комментарий
Упорядочить строки матрицы, найти минимальную сумму строк C++
Отправить несколько бандеролей за минимальную сумму денег C++
C++ Найти x и y и минимальную сумму x и y
Определить минимальную сумму которую придётся заплатить за трафик C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M9ICHIK
 Аватар для M9ICHIK
63 / 63 / 13
Регистрация: 09.12.2012
Сообщений: 458
12.12.2012, 02:10     Найти минимальную сумму #2
можно, с начала отсортировать массив цен в порядке возростания(убывания), параллельно переприсваивая значения меняющегося массива a[], что бы каждый индекс "i" соответствовал своему поставщику. После того когда определено точное кол-во нужного дешевого молока просто берем цикл для массивов "a" и "p" в котором находится оператор ветвления: если кол-во треб. молока меньше или равно кол-ву литров тек. поставщика=> р[i]*кол-во нужного молока;если кол-во треб. молока больше чем есть у первого поставщика переходим к след. поставщику (в свою очередь суммируя предыдущего(в данном случ. первого) по цене [кол-во литров*цена за литр] и отнимая от заданного кол-ва литров кол-во литров поставщика) и выходим из цикла.

Добавлено через 9 минут
упс, не много провтыкал: выход из цикла после первого условия ветвления.
finnik
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 33
12.12.2012, 20:04  [ТС]     Найти минимальную сумму #3
тема больше неактуальна. можно закрывать)
Yandex
Объявления
12.12.2012, 20:04     Найти минимальную сумму
Ответ Создать тему
Опции темы

Текущее время: 02:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru