Tuesday, July 3, 2007

SD: Stack Tugas 3 Juli 2007

/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<)) sorry (^-^)*/

//file header.h

#include (<)stdio.h(>)
#include (<)conio.h(>)
#include (<)stdlib.h(>)
#include (<)string.h(>)
#define max 69

typedef struct{
int top;
char kata[max];
}kalimat;

void palindrom(kalimat a);


//file definition.c

#include "header.h"

void palindrom(kalimat a)
{
char j;
int i,cek=1,pjg=0;
kalimat b;
a.top=strlen(a.kata);
for(i=0;i(<)a.top;i++)
{
for(j='A';j(<)='Z';j++)
{
if(toupper(a.kata[i])==j)
{
b.kata[pjg]=toupper(a.kata[i]);
pjg++;
}
}
}
a.top=pjg;
strcpy(a.kata,b.kata);
for(i=0;i(<)a.top;i++)
{
b.kata[i]=a.kata[(a.top)-i-1];
}

for(i=0;i(<)a.top;i++)
{
if(toupper(b.kata[i])!=toupper(a.kata[i]))
cek=0;
}
if(cek==1)
printf("Palindrom");
else
printf("Bukan Palindrom");
}


//file main.c

#include "header.h"

void main()
{
char pil,y[max];
kalimat r;
do
{
printf("Masukkan Kata/Kalimat : ");gets(y);
strcpy(r.kata,y);
palindrom(r);
printf("\nApakah Ingin Diulangi(y/n)?");
pil=getche();
printf("\n\n");
}while(pil!='n');
}

No comments: