Breaking News

Sabtu, 16 April 2016

# Kasus 6.6 : Algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.



Algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.Analisis 

Misalnya kata yang akan dicek adalah “kasur rusak”. Maka huruf pertama dicek, apakah sama dengan huruf pertama terakhir atau tidak, (sampai dengan pertengahan kalimat). Bila pengecekan selalu sama maka kalimat tersebut adalah palindrom. Jika terdapat satu huruf saja yang tidak sama, kalimat tersebut bukanlah palindro.

#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;
}




Tidak ada komentar:

Posting Komentar