Assalamualaikum w.w,
Berikut ini lanjutan kasus materi ARRAY
KASUS 6.6
Buatlah suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan
palindrom atau tidak. Palindrom adalah suatu kata atau kalimat yang dibaca dari kiri ke kanan
sama dengan kalu dibaca dari kanan ke kiri.
Algoritma 6.6.
function palindrom(input s : string) : boolean
Deklarasi
i, pj : integer
Deskripsi
palindrom Å true { diasumsikan benar, dibuktikan dengan penyangkalan }
pj <-length(s)
for i <- to (pj div 2) do
if (s[i] <> s[pj-i+1]) then palindrom <-false
Program menggunakan Dev C++:
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Palindrom{
friend ostream&operator<<(ostream&,Palindrom&);
friend istream&operator>>(istream&,Palindrom&);
public:
int cek_palindrom();
private:
char *s;
};
ostream&operator<<(ostream& out,Palindrom& a){
if(a.cek_palindrom())
out<<a.s<<"Adalah Palindrom";
else out<<a.s<<"Bukan Palindrom";
return out;
}
istream&operator>>(istream&in, Palindrom& a){
cout<<"Masukkan sebuah kalimat = ";
in>>a.s;
return in;
}
int Palindrom::cek_palindrom(){
int i,pj;
pj=strlen(s);
for(i=0;i<=pj/2;i++)
if(s[i]!=s[pj-i-1]) return 0;
return 1;
}
int main(int argc, char** argv) {
Palindrom kata;
cin>>kata;
cout<<kata;
return 0;
}
Gambar program nya:
Alhamdulillah
Selamat mencoba dan semoga bermanfaat :)
Wassalamualikum w.w.
0 komentar:
Posting Komentar