C Programlama * Kullanarak Eşkenar Dörtgen Çizdirme

[code lang=”c”]#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int i=0;
while(1)
{
printf("Lutfen n sayisini girin\n");
scanf("%d",&i);
if(i<22 && i>0 && i%2==1)
break;
printf("1 ile 21 arasinda tek bir sayi girin.\n");
}
int j,k,m=(i*2-1-i+2)/2-1;
for (j=0;j<i*2-1;j++)
{
for (k=0;k<i*2-1;k++)
{
if(k>m && j>m && k<i*2-2-m && j<i*2-2-m) // karenin ortası
printf(" ");
else if((k<i-1 && k+j<=i-2) || (k>i-1 && k-j>i-1)) // karenin sol üst ve sağ üst köşeler (veya ile ayrılmış)
{
printf(" ");
}
else if((k<i-1 && j-k>i-1 ) || (k>i-1 && k+j>=i*3-2)) // karenin sol alt ve sağ alt köşeler (veya ile ayrılmış)
{
printf(" ");
}
else
{
printf("*");
}
}
printf("\n");
}

system("PAUSE");
return 0;
}