本例是第53個算法,矩陣是圖像算法中的基本算法,靈活處理矩陣是圖像,遊戲編程的基本功。
螺旋矩陣的遞歸算法
源碼:
#include "stdio.h"
#include "stdlib.h"
/*
螺旋矩陣的遞歸算法
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 8
@author 72編程
All Rights Reserved By 分微科技(FENWII)
@ 2018-07-11
**/
int n, a[100][100];
void matrix(int i,int j, int m)
{
static k=1;
for(;j
{
a[i][j] = k++;
}
j = j-1;
i++;
for(;i
{
a[i][j] = k++;
}
i--;
j--;
for(;j>m-1;j--)//底部
{
a[i][j] = k++;
}
i--;
j++;
for(;i>m;i--)//左邊
{
a[i][j] = k++;
}
i++;
j++;
if(m
{
m++;
matrix(i,j,m);
}
}
int main(int argc, char *argv[])
{
int i=0;
int j=0;
int m=0;
printf("請輸入一個整數\n");
scanf("%d",&n);
matrix(i,j,m);
for(i=0;i
{
for(j=0;j
{
printf("%4d",a[i][j]);
}
printf("\n");
}
getchar();
return 0;
}
/**
PS:頭條編輯器暫不支持代碼格式,導致縮進格式丟失,需工程源碼請私信。若發現錯誤,歡迎指正。
**/