Помогите перевести прогу из Pascal в Matlab

  • Автор темы garis
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

garis

#1
Ребят, прошу вашей помощи. Нужно перевести данную прогу из Pascal'я в MatLAb.
Заранее благодарю за помощь.
Код:
Program Delenie;
Uses
Crt;
Const
Max=1000;
Type
Mas=Array[1..Max] Of ShortInt;
Var
S:Boolean;
M1,M2:String;
A1,A2,Mm1,Mm2,P:Mas;
Cod:Integer;
f,k,l,i,j,z,C,q,sum:Integer;
M,N1,N2:Integer;
Function Sravn(M:Integer;A1,Mm2:Mas):Boolean;
Var
k:Integer;
Begin
if M <> N2 Then Sravn := (M > N2)
Else Begin
Sravn := True; k := 1;
While (k <= M) and (A1[k] = Mm2[k]) Do inc(k);
If (k <= M) Then Sravn := (A1[k] > Mm2[k])
End;
End;
Begin
ClrScr;
WriteLn(' Vvedite delimoe');
Write(' -> ');
ReadLn(M1);
N1:=LengTh(M1);
For i:=1 To N1 Do Val(M1[i],Mm1[i],Cod);
WriteLn(' Vvedite delitel');
Write(' -> ');
ReadLn(M2);
N2:=LengTh(M2);
For i:=1 To N2 Do Val(M2[i],Mm2[i],Cod);
For i:=1 To N2-1 Do A1[i]:=Mm1[i];
M:=N2-1;
i:=M;
While(i<N1)Do
Begin
While ((Sravn(M,A1,Mm2)=False) And (i<N1)) Do
Begin
sum:=0;
for q := 1 to M do begin
sum := sum + a1[q]; if sum <> 0 then break;
end;
if ((M > 0) and (sum <> 0)) or (M = 0) then M:=M+1;										 
i:=i+1;
A1[M]:=Mm1[i];
End;
j:=0;
While(Sravn(M,A1,Mm2)=True)Do
Begin
f:=N2+1;
For k:=M DownTo M-N2 Do
Begin
f:=f-1;
If A1[k]>=Mm2[f]
Then
A2[k]:=A1[k]-Mm2[f]
Else
Begin
A1[k]:=A1[k]+10;
A1[k-1]:=A1[k-1]-1;
For l:=k DownTo 1 Do
If A1[l]<0 Then
Begin
A1[l-1]:=A1[l-1]-1;
A1[l]:=A1[l]+10;
End;
A2[k]:=A1[k]-Mm2[f];
End;
End;
For l:=M-N2-1 DownTo 1 Do A2[l]:=A1[l];
j:=j+1;
P[i-N2+1]:=j;
While((A2[1]=0)And(M>0))Do
Begin
For z:=1 To M-1 Do A2[z]:=A2[z+1];
M:=M-1;
A2[M+1]:=0;
End;
For z:=1 To M Do A1[z]:=A2[z];
End;
While((A1[1]=0)And(M>0))Do
Begin
For z:=1 To M-1 Do A1[z]:=A1[z+1];
M:=M-1;
A1[M+1]:=0;
End;
End;
WriteLn(' Chastnoe: ');
Write(' -> ');
j:=1;
While ((P[j]=0)And(j>=N1-N2)) Do j:=j+1;
while p[j]=0 do inc(j);
For i:=j To N1-N2+1 Do Write(P[i]);
WriteLn;
If M=0 Then
Begin
M:=1;
A1[M]:=0;
End;
WriteLn(' Ostatok');
Write(' -> ');
For i:=1 To M Do Write(A1[i]);
ReadLn;
End.
 
P

proc

#2
Как, как...
Открываешь томик №2 Кнута, там есть этот алгоритм :)
Реализуешь его на матлабе ;)
 
G

garis

#3
спасибо за совет, но у меня нет возможности почитать эту книжку.
ты поможешь перегнать МОЮ прогу в матлаб?
 
Статус
Закрыто для дальнейших ответов.