Program
String2;
String2;
Uses
WinCrt;
WinCrt;
Type
Data=Record
Data=Record
Kata :
String;
String;
End;
Larikdata
= Array [1..100] of Data;
= Array [1..100] of Data;
Var
KataPjg : Larikdata;
KataPjg : Larikdata;
i,j,idx :
Integer;
Integer;
Kal :
String;
String;
Ul :
Char;
Char;
Procedure
Ambilkata(Var a,b: Integer; Kalimat: String);
Ambilkata(Var a,b: Integer; Kalimat: String);
Var Tmp :
String;
String;
Begin
Tmp:='';
While
(Kalimat[a]<>' ') And (Kalimat[a]<>'-') And (Kalimat[a]<>'!')
(Kalimat[a]<>' ') And (Kalimat[a]<>'-') And (Kalimat[a]<>'!')
And
(Kalimat[a]<>'?') And (Kalimat[a]<>',') And
(Kalimat[a]<>'?') And (Kalimat[a]<>',') And
(Kalimat[a]<>'.')
And
(Kalimat[a]<>':') And (Kalimat[a]<>';') And
(Kalimat[a]<>':') And (Kalimat[a]<>';') And
(a<=Length(Kalimat))
Do
Do
Begin
Tmp:=Tmp+Kalimat[a];
Inc(a);
End;
Inc(b);
KataPjg[b].Kata:=Tmp;
End;
Procedure
CariKataTerpanjang(x:Integer;Var indeks: Integer);
CariKataTerpanjang(x:Integer;Var indeks: Integer);
Var
i,max: Integer;
i,max: Integer;
Begin
max:=0;
For i:= 1
to x Do
to x Do
If
max<Length(KataPjg[i].Kata) Then
max<Length(KataPjg[i].Kata) Then
Begin
max:=Length(KataPjg[i].Kata);
indeks:=i;
End;
End;
Begin
Repeat
Writeln('Program
Cari Kata Terpanjang Dalam Kalimat');
Cari Kata Terpanjang Dalam Kalimat');
Writeln('==========================================');
Writeln;
Writeln('Masukkan
Kalimat:');Readln(Kal);
Kalimat:');Readln(Kal);
i:=1;
j:=0;
While
i<=Length(Kal) Do
i<=Length(Kal) Do
Begin
If (i=1)
And (Kal[1]<>' ') Then
And (Kal[1]<>' ') Then
AmbilKata(i,j,Kal)
Else If
(Kal[i]=' ') And (Kal[i+1]<>' ') And (Kal[i+2]<>' ')
(Kal[i]=' ') And (Kal[i+1]<>' ') And (Kal[i+2]<>' ')
Then
Begin
Inc(i);
AmbilKata(i,j,Kal);
End
Else If
(Kal[i]='-') And (Kal[i-1]<>' ') And (Kal[i+1]<>' ')
(Kal[i]='-') And (Kal[i-1]<>' ') And (Kal[i+1]<>' ')
Then
Begin
Inc(i);
AmbilKata(i,j,Kal);
End
Else
Inc(i);
End;
CariKataTerpanjang(j,idx);
Writeln;
Writeln('Kata
Terpanjang Dalam Kalimat Di Atas:',Katapjg[idx].kata);
Terpanjang Dalam Kalimat Di Atas:',Katapjg[idx].kata);
Writeln;
Write('Mau
Ulang Lagi [Y/T]: ');Ul:=Upcase(Readkey);
Ulang Lagi [Y/T]: ');Ul:=Upcase(Readkey);
Until
Ul<>'Y';
Ul<>'Y';
End.
Output:
Tidak ada komentar:
Posting Komentar