İki farklı şekilde Palindrom kontrolü. İlki kolay olanı,
[CODE lang="c" title="strrev"]#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char kelime[20];
char kelimenintersi[20];
printf("Palindrom olup olmadigini kontrol etmek istediginiz kelimeyi giriniz.\n");
gets(kelime);
strcpy(kelimenintersi, kelime);
strrev(kelimenintersi);
printf("%s'in tersi: %s\n", kelime, kelimenintersi);
if (strcmp(kelime, kelimenintersi) == 0)
{
printf("%s palindrom kelimedir.\n", kelime);
}
else
{
printf("%s palindrom bir kelime degildir.\n", kelime);
}
system("pause");
return 0;
}[/CODE]
[CODE lang="c" title="Pointers"]#include <stdio.h>
#include <stdlib.h>
int main()
{
char kelime[30];
char *tersK, *duzK;
printf("Palindrom olup olmadigini kontrol etmek istediginiz kelime giriniz.\n");
gets(kelime);
for (tersK = kelime; *tersK != NULL; tersK++);
for (duzK = kelime, tersK--; tersK >= duzK
{
if (*tersK == *duzK)
{
tersK--;
duzK++;
}
else
{
break;
}
}
if (duzK > tersK)
{
puts(kelime);
printf("Palindromdur.\n");
}
else
{
puts(kelime);
printf("Palindrom degildir.\n");
}
system("pause");
return 0;
}[/CODE]
string.h
kütüphanesinden strrev
fonksiyonu. İkincisi Pointers ile uzun versiyonu.[CODE lang="c" title="strrev"]#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char kelime[20];
char kelimenintersi[20];
printf("Palindrom olup olmadigini kontrol etmek istediginiz kelimeyi giriniz.\n");
gets(kelime);
strcpy(kelimenintersi, kelime);
strrev(kelimenintersi);
printf("%s'in tersi: %s\n", kelime, kelimenintersi);
if (strcmp(kelime, kelimenintersi) == 0)
{
printf("%s palindrom kelimedir.\n", kelime);
}
else
{
printf("%s palindrom bir kelime degildir.\n", kelime);
}
system("pause");
return 0;
}[/CODE]
[CODE lang="c" title="Pointers"]#include <stdio.h>
#include <stdlib.h>
int main()
{
char kelime[30];
char *tersK, *duzK;
printf("Palindrom olup olmadigini kontrol etmek istediginiz kelime giriniz.\n");
gets(kelime);
for (tersK = kelime; *tersK != NULL; tersK++);
for (duzK = kelime, tersK--; tersK >= duzK
{
if (*tersK == *duzK)
{
tersK--;
duzK++;
}
else
{
break;
}
}
if (duzK > tersK)
{
puts(kelime);
printf("Palindromdur.\n");
}
else
{
puts(kelime);
printf("Palindrom degildir.\n");
}
system("pause");
return 0;
}[/CODE]