|
Go to Page... |
Post Reply |
Tweet | Thread Tools |
#1
|
|||
|
|||
![]() ![]() ![]() ![]() Gan mau tanya bagaimana cara mengatasi error runtime 202 pada pascal? Ada program Mencari subsequence bersama terpanjang. Kalau inputnya pendek output panjang LCS dan LCSnya keluar tapi kalau inputnya panjang Output LCSnya gaq keluar. Yang keluar hanyalah panjang LCS saja dan muncul error runtime 202 pada function LCS.... Quote: program LongestCommonSubsequence; uses wincrt; type tabel = array[0..100, 0..100] of integer; var X, Y : string; tab : tabel; i, j : integer; function max (a : integer; b : integer) : integer; begin if (b > a) then max := b else max := a; end; procedure BentukTabelLCS (S1,S2 : string; var T : tabel); var k,l :integer; begin k := length(S1); l := length(S2); for i:=1 to k do for j:=1 to l do if (S1[i] = S2[j]) then T[i,j] := T[i-1,j-1] + 1 else if T[i-1,j] >= T[i,j-1] then T[i,j] := max (T[i,j-1], T[i-1,j]) else T[i,j] := T[i,j-1]; end; function LCS (i,j :integer) : string; begin if (i = 0) or (j = 0) then LCS := '' else if X[i] = Y[j] then LCS := LCS(i-1, j-1) + X[i] else begin If tab[i,j-1] > tab[i-1,j] then LCS := LCS(i, j-1) Else LCS := LCS (i-1, j); end; end; begin write('Inputkan Sequence S1 : ');readln (X); write('Inputkan Sequence S2 : ');readln (Y); BentukTabelLCS (X, Y, tab); writeln ('Panjang LCS yang diperoleh adalah : ',tab[length(X), length(Y)]); writeln ('Longest Common Subsequence yang diperoleh adalah ','( ',LCS(length(X), length(Y)),' )'); end. Terkait:
|
Sponsored Links | |
Space available |
Post Reply |
|