:|
Сообщения: 1,746
Регистрация: 14.01.2009 |
31 января 2011, 17:50
| | |
#904 (ПС)
| -Цитата от Лжэц ребята может кто делал в студенческие годы курсовую,программу для решений венгерского метода,венгерского алгоритма!может у кого осталась,поделитесь!паскаль,или делфи. так что никто по этой теме не делал программ
может кто может до ума довести,прога незапускается и ошибок непишет(паскаль) Показать скрытый текст - Program m;
Var
t,st1,st2,st3,st4,st5,sb1,sb2,sb3,sb4,sb5,minsrsb, imax,jmax,i,j,max,sum:integer;
a:array[1..5,1..5] of integer;
b:array[1..5] of integer;
c:array[1..5] of integer;
Begin
a[1,1]:=3; a[1,2]:=4; a[1,3]:=2; a[1,4]:=2; a[1,5]:=1;
a[2,1]:=4; a[2,2]:=5; a[2,3]:=3; a[2,4]:=1; a[2,5]:=3;
a[3,1]:=4; a[3,2]:=3; a[3,3]:=1; a[3,4]:=1; a[3,5]:=1;
a[4,1]:=3; a[4,2]:=1; a[4,3]:=2; a[4,4]:=2; a[4,5]:=2;
a[5,1]:=0; a[5,2]:=0; a[5,3]:=0; a[5,4]:=0; a[5,5]:=0;
b[1]:=0; b[2]:=0; b[3]:=0; b[4]:=0; b[5]:=0;
c[1]:=0; c[2]:=0; c[3]:=0; c[4]:=0; c[5]:=0;
begin
writeln('Исходная матрица');
for i:=1 to 5 do
begin
for j:=1 to 5 do
Write(a[i,j]);
writeln;
end;
end;
begin
imax:=1; jmax:=1;
for i:=1 to 5 do
for j:=1 to 5 do
if a[imax,jmax]<a[i,j]
then begin
imax:=i; jmax:=j;
end;
writeln;
writeln('максимальный элемент: ',a[imax,jmax]);
end;
begin
for i:=1 to 5 do
for j:=1 to 5 do
a[i,j]:=a[i,j]*(-1)+5;
begin
writeln;
writeln('полученная матрица после преобразования решения задачи на максимум:');
for i:=1 to 5 do
begin
for j:=1 to 5 do
Write(a[i,j]);
writeln;
end;
end;
end;
begin
writeln;
for i:=1 to 5 do
begin
minsrsb:=a[i,1];
for j:=1 to 5 do
if minsrsb>a[i,j]then
minsrsb:=a[i,j];
begin
for j:=1 to 5 do
a[i,j]:=a[i,j]-minsrsb;
end;
writeln('миниальный элемент строки ',i,'= ',minsrsb);
end;
end;
begin
writeln;
writeln('матрица редуцированная по строкам');
for i:=1 to 5 do
begin
for j:=1 to 5 do
Write(a[i,j]);
writeln;
end;
end;
begin
writeln;
for j:=1 to 5 do
begin
minsrsb:=a[j,1];
for i:=1 to 5 do
if minsrsb>a[i,j]then
minsrsb:=a[i,j];
begin
for i:=1 to 5 do
a[i,j]:=a[i,j]-minsrsb;
end;
writeln('миниальный элемент столбца ',j,'= ',minsrsb);
end;
end;
begin
writeln;
writeln('матрица редуцированная по столбцам');
for i:=1 to 5 do
begin
for j:=1 to 5 do
Write(a[i,j]);
writeln;
end;
end;
begin
writeln;
for i:=1 to 5 do
begin
for j:=1 to 5 do
if a[i,j]=0 then
b[i]:=b[i]+1;
writeln('количество нулей в строке'#32,i,'-',#32,b[i]);
end;
end;
begin
writeln;
for j:=1 to 5 do
begin
for i:=1 to 5 do
if a[i,j]=0 then
c[j]:=c[j]+1;
writeln('количество нулей в столбце'#32,j,'-',#32,c[j]);
end;
end;
begin
end;
End. |