CEK PALINDROM DENGAN STACK DALAM BAHASA C STRUKTUR DATA
#include <stdio.h>
#include <string.h>
/* Mengecek Palindrom dalam bahasa C
menggunakan stack
Johannes Alexander Putra
Struktur Data
*/
char mencoba[50];
typedef struct stack
{
char isi[255];
int top;
}stack;
void push(char isi,stack * s)
{
int i;
if(s->top < 255)
{
s->top = s->top + 1;
s->isi[s->top] = isi;
}
else
{
printf("penuh");
}
}
void pop(stack * s)
{
if(s->top != -1)
{
char tes[50] = {s->isi[s->top]};
s->top--;
printf("%s",tes);
strcat(mencoba,tes);
}
else{
printf("stack kosong");
}
}
int main()
{
stack s;
int cek;
int i;
char kalimat[255];
printf("masukan kata \n");
gets(kalimat);
s.top = -1;
for(i = 0;i<strlen(kalimat);i++)
{
push(kalimat[i],&s);
}
for(i = 0;i<strlen(kalimat);i++)
{
pop(&s);
}
printf("\n");
if(strcmp(mencoba,kalimat)== 0)
{
cek = 1;
}
if(cek == 1 )
{
printf("Palindrom");
}else
{
printf("bukan palindrom");
}
return 0;
}
Komentar
Posting Komentar