Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++ не работает код.

надо очень Ученик (240), открыт 2 дня назад
#include <iostream>
#include <vector>

using namespace std;

// Функция для нахождения начального решения методом северо-западного угла
void northWestCornerMethod(const vector<int>& supply, const vector<int>& demand, const vector<vector<int>>& cost) {
int m = supply.size(); // количество складов
int n = demand.size(); // количество потребителей
vector<vector<int>> shipment(m, vector<int>(n, 0)); // матрица поставок

int i = 0, j = 0; // индексы для складов и потребителей

// Выполняем метод северо-западного угла
while (i < m && j < n) {
// Определяем, сколько можно отправить
int amount = min(supply[i], demand[j]);
shipment[i][j] = amount; // заполняем матрицу поставок
supply[i] -= amount; // уменьшаем запас на складе
demand[j] -= amount; // уменьшаем спрос потребителя

// Переход к следующему складу или потребителю
if (supply[i] == 0) {
i++; // движемся к следующему складу
}
if (demand[j] == 0) {
j++; // движемся к следующему потребителю
}
}

// Вывод результата
cout << "Решение методом северо-западного угла:\n";
cout << "Матрица поставок:\n";
for (int k = 0; k < m; ++k) {
for (int l = 0; l < n; ++l) {
cout << shipment[k][l] << "\t";
}
cout << endl;
}

// Вывод стоимости перевозок
int totalCost = 0;
for (int k = 0; k < m; ++k) {
for (int l = 0; l < n; ++l) {
totalCost += shipment[k][l] * cost[k][l]; // суммируем общую стоимость
}
}

cout << "Общая стоимость перевозок: " << totalCost << endl;
}

int main() {
// Пример: количество товаров на складах
vector<int> supply = {30, 70}; // Закупки со склады А и В
// Пример: потребности клиентов
vector<int> demand = {50, 50, 0}; // Потребности клиента C, D, E

// Задаем стоимости перевозок для каждого маршрута
vector<vector<int>> cost = {
{4, 6, 0}, // Стоимость от склада A к клиентам C, D, E
{3, 2, 0} // Стоимость от склада B к клиентам C, D, E
};

// Вызываем метод
northWestCornerMethod(supply, demand, cost);

return 0;
}
Дополнен 2 дня назад
Проблема в строках
supply[i] -= amount; // уменьшаем запас на складе
demand[j] -= amount; // уменьшаем спрос потребителя
0 ответов
Похожие вопросы