Membuat kotak Angka Melingkar/memusat pada C

Pernah dapet request dari temen , buatin matrix 2 dimensi(wuah gampang) , tapi urutan angka nya melingkar(wedew), seperti ini

Setelah begadang selama 4jam(??) akhirnya nemu juga solusinya, ini source nya

#include<stdio.h>
int kotak[20][20];
int nilai=1;
int input,acuan1=1,batas1,acuan2=1,batas2;
void tulis(){
int i,j;
for(i=1;i<=input;i++){
for(j=1;j<=input;j++){
printf("%d\t",kotak[i][j]);
}
printf("\n\n");
}
}
void isi(){
int i,j,k,l;
for(i=acuan2;i<batas2;i++){
kotak[acuan1][i]=nilai;
nilai++;
}
for(j=acuan1;j<batas1;j++){
kotak[j][batas2]=nilai;
nilai++;
}
for(k=batas2;k>acuan2;k--){
kotak[batas1][k]=nilai;
nilai++;
}
for(l=batas1;l>acuan1;l--){
kotak[l][acuan2]=nilai;
nilai++;
}
batas1=batas1-1;
acuan1=acuan1+1;
batas2=batas2-1;
acuan2=acuan2+1;
}
int main(){
scanf("%d",&input);
batas1=input;
batas2=input;
if(input%2==0){
while((nilai-1)!=(input*input)){
isi();
}
}
else{
while(nilai!=(input*input)){
isi();
}
kotak[(input+1)/2][(input+1)/2]=(input*input);
}
printf("\n");
tulis();
return 0;
}

Semoga membantu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s