Автор Тема: Транспортная задача(Паскаль)  (Прочитано 3640 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Астасья

  • Постоялец
  • ***
  • Сообщений: 173
    • Просмотр профиля
Транспортная задача(Паскаль)
« : 17 Марта 2013, 23:18:48 »
Задание:Решение транс.задачи методом С-З угла и методом min стоимости.На Паскале!!!

program transport;  uses crt;
const n=3;
const m=4;
var
i,j:integer;
c:array[1..n,1..m] of integer;
a:array[1..n] of integer;
b:array[1..m] of integer;



PROCEDURE Vvod1;
Begin
writeln('Введите количество поставщиков= ', n);
writeln('Введите количество потребителей= ', m);
End;

Procedure Vvod2;
begin
 for i:=1 to n do
  begin
  write('Введите мощность ',i,' поставщика =');
  readln(a);
  end;
    for i:=1 to m do
     begin
     write('Введите спрос ',i,' потребителя =');
     readln(b);
     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;
end;

Procedure vivod;
begin
writeln('Мощность поставщиков:');
for i:=1 to n do writeln (,i,'поставщик= ',a);
writeln;
writeln('Спрос потребителей:');
for i:=1 to m do writeln (,i,'потребитель= ',b);
writeln;
writeln('Матрица стоимости перевозок:');
    for i:=1 to n do
     begin
      for j:=1 to m do
      write (c[i,j]:3);
      writeln;
     end;
end;

Begin
Vvod1;
Vvod2;
ClrScr;
Stoimost;
vivod;
end.


Подскажите как дальше(на счет С-З угла)?????

Оффлайн Астасья

  • Постоялец
  • ***
  • Сообщений: 173
    • Просмотр профиля
Re: Транспортная задача(Паскаль)
« Ответ #1 : 20 Марта 2013, 20:50:57 »
Методом С-З угла я решила,может подскажите на счет метода min стоимости ??

Оффлайн Астасья

  • Постоялец
  • ***
  • Сообщений: 173
    • Просмотр профиля
Re: Транспортная задача(Паскаль).Срочно
« Ответ #2 : 20 Марта 2013, 22:07:35 »
Вот моё решение(методом минимальной стоимости):     Ответ неверный,что не так?????????????????????
 
В решение ,которое выше добавила процедуру

procedure minstoim;
begin
sum:=1;
while sum>0 do
begin
    sum1:=0;
    for i:=1 to n do
    z1:=a;
    for j:=1 to m do
    z2:=b[j];
    sum1:=sum1+z1+z2;
    sum:=sum1;
  begin
     min:=c[1,1];
     for i:=1 to n do
     for j:=1 to m do
     if (min>c[i,j]) and (c[i,j]<>0)
     then
          begin min:=c[i,j];
                s:=i;
                q:=j;
          end;
  end;
     if (s=i)and(q=j)and(a>b[j]) then
          begin mas[s,q]:=a-b[j];
                a:=a-b[j];
                b[j]:=0;
          end
     else begin mas[s,q]:=b[j]-a;
                b[j]:=b[j]-a;
                a:=0;
          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('Методом min стоимости = ',v);
end.

Помогите срочно(контрольная)!!!!!!!!!!!!!!!!!!!!!!!!!!!

Оффлайн Астасья

  • Постоялец
  • ***
  • Сообщений: 173
    • Просмотр профиля
Re: Транспортная задача(Паскаль)
« Ответ #3 : 22 Марта 2013, 12:11:42 »
Тут есть кто живой????? :)в последнее время вы совсем не отвечаете....

 

Олимпиадная задача "Дипломы"

Автор DrXakep

Ответов: 0
Просмотров: 3611
Последний ответ 30 Декабря 2012, 14:09:40
от DrXakep
Срочно надо написать курсовую по информатике. Задача на языке VBA.

Автор lana

Ответов: 1
Просмотров: 1608
Последний ответ 12 Сентября 2010, 19:29:18
от InfStudent
Задача в Turbo С. Написать программу построения одномерного массива

Автор deamond

Ответов: 1
Просмотров: 1873
Последний ответ 21 Декабря 2011, 12:04:34
от Hellko
Задача на строки в Паскале. Упорядочить и найти средний вес

Автор Ana

Ответов: 13
Просмотров: 3508
Последний ответ 23 Февраля 2010, 22:33:15
от Asix
Задача в бейсике, решить систему Гаусса-Зейделя

Автор Лопанова

Ответов: 1
Просмотров: 1921
Последний ответ 05 Октября 2011, 16:08:50
от tig81