Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 15:18   #1
SkoRp45
Новичок
Джуниор
 
Регистрация: 16.04.2012
Сообщений: 1
Вопрос Решение транспортной задачи. Курсовая.

Здравствуйте помогите пожалуйста с задачей. И так проблема в том что программа запускается но не выдает решения не знаю в чём проблема

ЗАРАНЕЕ СПАСИБО ВСЕМ.

Вот сам код:
Код HTML:
program sev_zap;
uses crt;
const n=5;
m=5;
var a:array[1..m] of integer;
b:array[1..m] of integer;
a1:array [1..n] of integer;
b1: array [1..m] of integer;
c:array [1..n,1..m] of integer;
i,j,k,x,y,s1,s2:integer;
procedure vvod_klav;
begin
i:=1;
k:=0;
s1:=0;
while (k=0) and (i<n) do
begin
write ('vvod zap,',i,'postav:');
readln(a[i]);
if a[i]=0 then
begin
k:=1;
i:=i-1;
end
else
begin
a1[i]:=a[i];
s1:=s1+a1[i];
i:=i+1;
end;
end;
j:=1;
k:=0;
s2:=0;
textcolor(5);
while (k=0) and (j<m) do
begin
write ('vvod zap',j,'potreb:');
readln(b[j]);
if b[j]=0 then
begin
k:=1;
j:=j-1;
end
else
begin
b1[j]:=b[j];
s2:=s2+b1[j];
j:=j+1;
end;
end;
textcolor(yellow);
k:=0;
if s1<s2 then
begin
writeln ('error vvod, proverte many');
readln;
halt;
end;
if(s2<s1) and (k=0) then
begin
writeln ('error vvod, proverte many');
readln;
halt;
end;
x:=i;
y:=j;
end;
begin
textcolor(white);
clrscr;
writeln('sev_zap');
writeln;
vvod_klav;
repeat
k:=0;
if(b[j]-a[i]<0) then
begin
c[i,j]:=a[i]-b[j];
b[j]:=0;
j:=j-1;
k:=1;
end;
if(b[j]-a[i]>0)and(k=0)then
begin
c[i,j]:=a[i];
b[j]:=b[j]-a[i];
a[i]:=0;
i:=i-1;
k:=1;
end;
if(b[j]-a[i]=0)and(k=0)then
begin
c[i,j]:=a[i];
a[i]:=0;
b[j]:=0;
i:=i-1;
j:=j-1;
end;
if(i=0)or(j=0)then break;
until false;
{viivod na ekran}
clrscr;
textcolor(white);
for i:=1 to x do
if j=y then write(c[i,j]:6,' | ',a1[i])
else
write(c[i,j]:6);
writeln;
end.
write('');
for i:=1 to y*6-4 do
write(#196);
writeln('');
for j:=1 to y do
write(b 1[j]:6);
readln;
end.
SkoRp45 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение транспортной задачи симплекс-методом. Kabuto07 Помощь студентам 3 10.04.2011 12:18
написать программу "решение транспортной задачи дельта методом" на Delphi DIMAN488 Помощь студентам 1 06.12.2010 00:34
Помогите с решением транспортной задачи в Excel. Kirillll Microsoft Office Excel 13 08.02.2010 19:17
Решение транспортной задачи. 4sense Помощь студентам 2 06.12.2009 16:04
Решение транспортной задачи в VBA _леся_ Помощь студентам 0 02.05.2009 12:20