S A T O R
A R E P O
T E N E T
O P E R A
R O T A S
Input yang dibutuhkan untuk menghasilkan program yang dimaksud sebuah kata atau kalimat. Dimungkinkan kata atau kalimat tersebut mengandung fungsi palindrom sehingga hasilnya akan kelihatan.
Kode Programnya sebagai berikut:
Uses Crt;
type recin = record
data:String;
end;
recout = record
data:String;
jml:byte;
end;
Var
count:byte;
temp:recin;
tem:recout;
fi:file of recin;
fo:file of recout;
alpha:String;
Function Tango(s:String):String;
Var k:byte;
p:String;
Begin
p:=s;
For k:=1 To Length(s) Do
Begin
s[k]:=p[Length(s)-(k-1)];
End;
Tango:=s;
End;
procedure sneak(l:string);
var
i,j,n:byte;
bravo,beta,charlie:String;
begin
n:=length(l);
count:=0;
for j:= 1 to n-1 do
for i:= 2 to (n+1)-j do begin
bravo:=copy(l,j,i);
beta:=Tango(bravo);
if bravo=beta then begin
count:=count+1;
writeln('Polindrom ke-',count);
writeln(bravo);
end;
end;
end;
writeln('Jumlah Polindrom: ',count);
end;
Begin
Clrscr;
assign(fi,'multipal.in');
rewrite(fi);
Write('Masukkan Suatu Kalimat: '); Readln(alpha);
temp.data:=alpha;
write(fi,temp);
close(fi);
sneak(alpha);
assign(fo,'multipal.out');
rewrite(fo);
tem.data:=alpha;
tem.jml:=count;
write(fo,tem);
close(fo);
writeln;
writeln;
writeln('============');
writeln('MULTIPAL.IN');
assign(fi,'multipal.in');
reset(fi);
read(fi,temp);
close(fi);
writeln(temp.data);
writeln;
writeln('=============');
writeln('MULTIPAL.OUT');
assign(fi,'multipal.out');
reset(fo);
read(fo,tem);
close(fo);
writeln(tem.jml);
Readln;
End.
0 komentar:
Poskan Komentar