Транспортная задача код программы

Решить транспортную задачу методом min стоимости. Что не так.

program transport; uses crt; var i,j,n,m:integer; sum,sum1,z1,z2,min,v:real; c:array[1..50,1..50] of integer; mas:array[1..50,1..50] of integer; a:array[1..50] of integer; b:array[1..50] of integer; Procedure Vvod1; Begin write(‘Введите количество поставщиков= ‘);readln(n); write(‘Введите количество потребителей= ‘);readln(m) End; Procedure Vvod2; begin for i:=1 to n do begin write(‘Введите мощность ‘,i,’ поставщика =’); readln(a[i]); //массив запасов end; for i:=1 to m do begin write(‘Введите спрос ‘,i,’ потребителя =’); readln(b[i]); //массив потребностей(спроса) end; writeln; end; Procedure Stoimost; begin < for i:=1 to n do for j:=1 to m do begin c[i,j]:=random(9); //массив стоимости перевозок end; >for i:=1 to n do for j:=1 to m do begin write(‘c[‘,i,’,’,j,’]=’); readln(c[i,j]); //массив стоимости перевозок end; end; Procedure vivod; begin writeln(‘Мощность поставщиков:’); for i:=1 to n do writeln (,i,’поставщик= ‘,a[i]); writeln; writeln(‘Спрос потребителей:’); for i:=1 to m do writeln (,i,’потребитель= ‘,b[i]); writeln; writeln(‘Матрица стоимости перевозок:’); for i:=1 to n do begin for j:=1 to m do write (c[i,j]:3); writeln; end; end; procedure minstoim; begin while sum>0 do begin sum1:=0; for i:=1 to n do z1:=a[i]; for j:=1 to m do z2:=b[j]; sum1:=sum1+z1+z2; sum:=sum1; min:=c[1,1]; for i:=1 to n do for j:=1 to m do begin if (min>c[i,j]) then min:=c[i,j]; if a[i] >= b[j] then begin mas[i,j]:=b[j]; a[i]:=a[i]-b[j]; b[j]:=0; end else begin mas[i,j]:=a[i]; b[j]:=b[j]-a[i]; a[i]:=0; end; end; end; end; Begin Vvod1; Vvod2; Stoimost; ClrScr; vivod; minstoim; v:=0; for i:=1 to n do for j:=1 to m do begin v:=v+mas[i,j]*c[i,j]; end; writeln(‘Метод минимальной стоимости = ‘,v); end.

Читайте также:
Программа инфодент инструкция для администратора

___________

Транспортная задача (открытая, без цикла). Метод потенциалов — подробно и понятно


Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.03.2013 в 14:18 .
Регистрация: 08.04.2012
Сообщений: 3,229

Мне кажется:
1. Нужно оформлять код так, чтобы его можно было читать (тег CODE).
2. «Что не так» — это сначала Вы должны объяснить. Почему Вы решили, что что-то не так?

Источник: www.programmersforum.ru

Разработка программы на Delphi для решения транспортной задачи

1. Выбрать и обосновать наиболее эффективный метод решения задачи. 2. Разработать алгоритм и программу для решения задачи в общем виде. 3. Проверить правильность алгоритма на предлагаемой задаче. 4. Задача: Имеются два элеватора, в которых.

Решение задачи вручную

1 Проверим на сбалансированность. Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов: Элеватор Хлебозавод Запасы зерна 1 2 3 1 20 30 50 4200 2 60 20.

Транспортная задача (закрытая, с циклом). Метод потенциалов — подробно и понятно

Решение в программе MS Excel

Мощным средством анализа данных MS Excel является надстройка Solver (Поиск решения). С ее помощью можно определить, при каких значениях указанных влияющих ячеек формула в целевой ячейке принимает нужное значение (минимальное, максимальное или равное.

Разработка программы для решения задачи в общем виде (Delphi)

Программа предназначена для решения задачи из условий варианта №16 Инструкция пользователю. Назначение. Программа реализует интуитивно понятный интерфейс и разработана для решения, как транспортной задачи заданного условия варианта, так и для.

Выводы

В курсовой работе были произведены расчеты различными способами решения транспортной задачи. Была составлена программа, которая разработана в программе Delphi . В программе удобный и понятный пользовательский интерфейс. Для ввода данных используется.

Читайте также:
При установки программы не могу выбрать другой диск

Источник: studentopedia.ru

Транспортная задача: метод минимального элемента — C#

Всем доброго времени суток. Помогите пожалуйста решить транспортную задачу методом минимальной стоимости. Неважно в Console или Windows Form. Главное простой и понятный алгоритм. Очень надеюсь на вас дорогие.

Код к задаче: «Транспортная задача: метод минимального элемента»

Листинг программы

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication11 < class Program < struct Element < public int Delivery < get; set; >public int Value < get; set; >public static int FindMinElement(int a, int b) < if (a >b) return b; if (a == b) < return a; >else return a; > static void Main(string[] args) < Console.ForegroundColor = ConsoleColor.Green; int i = 0; int j = 0; int n; Console.WriteLine(«Введите количество A»); n = Convert.ToInt32(Console.ReadLine()); int[] a = new int[n]; Console.WriteLine(«Введите количество B»); int m = Convert.ToInt32(Console.ReadLine()); int[] b = new int[m]; Element[,] C = new Element[n, m]; Console.WriteLine(«Введите a[i]»); for (i = 0; i < a.Length; i++) < a[i] = Convert.ToInt32(Console.ReadLine()); >Console.WriteLine(«Введите b[i]»); for (j = 0; j < b.Length; j++) < b[j] = Convert.ToInt32(Console.ReadLine()); >Console.Clear(); Console.WriteLine(«Введите C[i][j]»); for (i = 0; i < n; i++) < for (j = 0; j < m; j++) < Console.Write(«a[,] = «, i, j); C[i, j].Value = Convert.ToInt32(Console.ReadLine()); > > i = j = 0; // действуем по алгоритму // идём с северо-западного элемента // если a[i] = 0 i++ // если b[j] = 0 j++ // если a[i],b[j] = 0 то i++,j++; // доходим до последнего i , j //Оператор while выполняет оператор или блок операторов, пока определенное выражение не примет значение false. while (i < n j < m) < try < if (a[i] == 0) < i++; >if (b[j] == 0) < j++; >if (a[i] == 0 b[j] == 0) < i++; j++; >C[i, j].Delivery = Element.FindMinElement(a[i], b[j]); a[i] -= C[i, j].Delivery; b[j] -= C[i, j].Delivery; > catch < >> Console.Clear(); //выводим массив на экран for (i = 0; i < n; i++) < for (j = 0; j < m; j++) < if (C[i, j].Delivery != 0) < Console.Write(«()», C[i, j].Delivery); > else Console.Write(«====», C[i, j].Delivery); > Console.WriteLine(); > //считаем функцию int ResultFunction = 0; for (i = 0; i < n; i++) < for (j = 0; j < m; j++) < ResultFunction += (C[i, j].Value * C[j, i].Delivery); >> Console.WriteLine(«»); Console.WriteLine(«Результат = «, ResultFunction); i = 0; j = 0; int[] u = new int[n]; int[] v = new int[m]; Console.ReadLine(); > > > >

Читайте также:
Astra linux se установка программ

Источник: studassistent.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru