di bahasa C sdh ada library khsus untuk mebalikan kata yaitu : strrev() . namun di linux strrev() tidak ada karena sebenarnya ini bukan library strandar dalam bahasa C.
contoh strrev() bawaan:
#include
#include
int main() {
char kata[200]= "kodok"; //ganti dgn kata" lain
char check[200];
strcpy(check, kata); //kita copy inputan lalu pakai strrev
strrev(check);
/*bandingkan apakah kata == check
(yg sdh dibalik kan tentunya)*/
if(strcmp(kata, check) == 0)
printf("Kata %s adalah palindrom.\n", kata);
else
printf("Kata %s bukan palindrom.\n", kata);
printf("Kebalikan dari input diatas %s.\n", check);
return 0;
}
Berikut jika kita buat sendiri fungsinya
#include
#include
/*Buat fungsi*/
void reverse(char s[]) {
int c, i , j;
//strlen(s) = hitung panjang kata
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
return;
}
int main() {
char a[] = "malam"; //ganti dgn kata" lain
char b[200];
strcpy(b,a);
reverse(a); //panggil fungsi
if(strcmp(a, b) == 0) {
printf("Kata %s Palindrom\n",a);
}
else{
printf("Kata %s Bukan palindrom\n",a);
}
return 0;
}
Happy Learning