Нужно рассчитать как выгодно купить товар алгоритмически - VB

Узнай цену своей работы

Формулировка задачи:

Всем привет! Задача: Требуется купить 5шт. одного и того же товара, но у всех разные цены и не у каждого есть требуемое количество, итак: Магазин1, цена 10р., доступно 1шт. товара Магазин2, цена 20р., доступно 2шт. товара Магазин3, цена 40р., доступно 5шт. товара Магазин4, цена 30р., доступно 3шт. товара Нужно получить план с выгодной покупкой, т.е.: а) Купить 1шт. в Магазине1 б) Купить 1шт. в Магазине2 в) Купить 3шт. в Магазине4 Как алгоритмически всё реализовать? Как посравнивать кучу цен с учётом по количеству? Думал что такой код пройдёт, но нет, на выше приведённой задаче - не срабатывает.
Листинг программы
  1. Dim arrTemp(2,3) As Single '0-номер магазина;1-цена товара;3-доступное количество;
  2. Dim ia As Integer
  3. Dim ib As Integer 'номер в массиве с минимальной ценой
  4. Dim iCount As Integer 'требуемое кол-во
  5. arrTemp(0,0) = 1
  6. arrTemp(1,0) = 10
  7. arrTemp(2,0) = 1
  8. arrTemp(0,1) = 2
  9. arrTemp(1,1) = 20
  10. arrTemp(2,1) = 2
  11. arrTemp(0,2) = 3
  12. arrTemp(1,2) = 40
  13. arrTemp(2,2) = 4
  14. arrTemp(0,3) = 4
  15. arrTemp(1,3) = 30
  16. arrTemp(2,3) = 3
  17.  
  18. For ia = 0 To UBound(arrTemp, 2)
  19. If (arrTemp(1, ib) = 0 Or arrTemp(1, ib) > arrTemp(1, ia) And (arrTemp(1, ia) > 0)) And (arrTemp(2, ia) >= iCount) Then
  20. ib = ia
  21. End If
  22. Next
Ну уже вообще голова не варит. И с кейсами пытался, и так и сяк... Чего-то не дотумкиваю, где-то. Может кто посвежее будет на голову, да подскажет решеньице?

Решение задачи: «Нужно рассчитать как выгодно купить товар алгоритмически»

textual
Листинг программы
  1. Private Sub SortMinPrice(ByRef S() As typeShop)
  2.     Dim i As Integer, j As Integer, t As typeShop
  3.     For i = 1 To UBound(S)
  4.         For j = 1 To UBound(S) - 1
  5.            If S(j).Price > S(j + 1).Price Then
  6.                t = S(j + 1)
  7.                S(j + 1) = S(j)
  8.                S(j) = t
  9.            End If
  10.        Next j
  11.     Next i
  12. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы