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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2013, 00:21   #1
Mishka2039
Новичок
Джуниор
 
Регистрация: 05.05.2010
Сообщений: 2
По умолчанию комментарии к коду

Прошу пожалуйста помочь с кодом программы на Паскале
Пожалуйста отпишите комментарий к каждой строчке в данной программе (что именно описывается в них)
очень нужна помощь


Код:
const
maxn = 1000;
infinity = maxlongint;
var
n,m,vin,vout,i,u,v,w,head,tail,ans:longint;
ne,p,flow:array[1..maxn]of longint;
e,c,f:array[1..maxn,1..maxn]of longint;
q:array[0..maxn]of longint;
begin
read(n,m,vin,vout);
for i:=1 to m do begin
read(u,v,w);
if c[v,u]=0 then begin
inc(ne[u]); e[u,ne[u]]:=v;
inc(ne[v]); e[v,ne[v]]:=u;
end;
c[u,v]:=w;
end;
repeat
p[vout]:=-1;
fillchar(flow,sizeof(flow),0);
flow[vin]:=infinity;
head:=0; tail:=1; Q[0]:=vin;
while head<tail do begin
u:=Q[head]; inc(head);
for i:=1 to ne[u] do begin
v:=e[u,i];
if (c[u,v]-f[u,v]>0)and(flow[v]=0) then begin
Q[tail]:=v; inc(tail);
p[v]:=u;
if c[u,v]-f[u,v]<flow[u] then flow[v]:=c[u,v]-f[u,v]
else flow[v]:=flow[u];
if v=vout then break;
end;
end;
end;
if p[vout]=-1 then break;
u:=vout;
while u<>vin do begin
f[p[u],u]:=f[p[u],u]+flow[vout];
u:=p[u];
end;
ans:=ans+flow[vout];
until false;
write(ans);
end.


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

Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.04.2013 в 00:35.
Mishka2039 вне форума Ответить с цитированием
Старый 10.04.2013, 08:01   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Mishka2039 Посмотреть сообщение
Прошу пожалуйста помочь с кодом программы на Паскале
Пожалуйста отпишите комментарий к каждой строчке в данной программе (что именно описывается в них)
Сразу Видно, что Вы не знаете, что именно должно содержаться в комментариях.
Расскажу, как они появляются и откуда берутся.
Сначала алгоритм решения задачи записывается по-русски.
Затем лн переводится с русского на любой доступеый язык программирования, например, как в Вашем случае - на Паскаль.
При этом алгоритм, записанный по-русски, не удаляется, а превращается в комментарии.
Собственно, комментарии должны описывать не что делает программа - это должно быть видно из самого кода, а зачем она это делает.
Таким образом, комментарии пишутся по времени до кода, а не после него.
Сам же код рекомендуется:
- писать с отступами, соответствующими вложенности конструкций,
- давать переменным осмысленные имена.
К сожалению, при написании этого кода пренебрегли всеми тремя правилами.
Это никуда не годный код. Использовать его нельзя, лучше переписать с нуля по правилам.
s-andriano вне форума Ответить с цитированием
Старый 10.04.2013, 10:31   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

s-andriano

Сразу Видно, что Вы не знаете, что именно должно содержаться в комментариях.
Расскажу, как они появляются и откуда берутся.
...


Это всё, конечно, замечательно, и так и должно быть в правильно написанной проге.
Однако, в данном случае мы имеем дело с т.н. "бюджетным" вариантом для студней :D
это когда студень надыбал где-то в инете примерно похожий исходник, но так как знаний 0, программа представляется ему как-то так:



отсюда дальнейшие действия очевидны - попросить чтобы ему сделали подстрочный перевод (с подстрочником есть шанс что препод не запалит), к тому же это бесплатно, а заказ программы денег стоит.
Rififi вне форума Ответить с цитированием
Старый 10.04.2013, 19:38   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вряд ли следует путать "бюджетный" вариант с "кривым".
Этот исходник явно не стоит сил, затраченных на его разбор.
Ничему полезному по этому исходнику научиться все равно не выйдет.
s-andriano вне форума Ответить с цитированием
Старый 11.04.2013, 09:36   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Ничему полезному по этому исходнику научиться все равно не выйдет.
Научиться? Не, не слышал.

А исходник действительно кривой. Сильно не всматривался, но на такое количичество строк очень уж много переменных.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
комментарии к коду *Alex* Помощь студентам 0 07.05.2010 10:46
комментарии к коду leahov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 09.06.2009 13:09
Комментарии к коду ELL Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.03.2009 16:01
Комментарии к коду Juhn Паскаль, Turbo Pascal, PascalABC.NET 6 24.12.2007 20:29
Комментарии к коду Ярослав Помощь студентам 4 23.11.2007 16:57