Membuat suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak. (6.6)

Membuat suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan
palindrom atau tidak. (TUGAS DIKTAT BAB 7 KASUS 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 <= 1 to (pj div 2) do
if (s[i] <> s[pj-i+1]) then palindrom <= false


#include <iostream>
#include <string.h>
#include <conio.h>

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())
cout << a.s << " adalah palindrom";
else out << a.s << " bukan palindrom";
return out;
};


istream& operator>>(istream& in, Palindrom& a) {
cout << "Masukkan sebuah kalimat : ";
cin >> 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;
}

main() {
Palindrom kata;
cin >> kata;
cout << kata;
getch();
return 0;
}

sumber http://elpituyogi.blogspot.co.id/2016/04/tugas-diktat-bab-7-kasus-66.html


EmoticonEmoticon