c语言的一些常见的算法以及思考和改进的文章,写的很不错,花费了很大的精力从网络了搜罗的,希望大家喜欢.
源代码在线查看: 矩阵处理的几个小函数.txt
矩阵处理的几个小函数[原创]
前一段时间太忙了,没有时间写东西。刚才突然想了一个,写出来,大家帮忙测试。
#define N 5
#i nclude
int convert(int array[N][N],int flag)
{
int i,j,x,y,new[N][N];
for(i=0;i for(j=0;j {
switch(flag)
{
case 0:/*不变化*/
x=i;
y=j;
break;
case 1:/*沿主对角线反转*/
x=j;
y=i;
break;
case 2:/*沿次对角线反转*/
x=N-1-j;
y=N-1-i;
break;
case 3:/*顺时针旋转*/
x=N-1-j;
y=i;
break;
case 4:/*逆时针旋转*/
x=j;
y=N-1-i;
break;
}
new[x][y]=array[i][j];
}
for(i=0;i for(j=0;j array[i][j]=new[i][j];
}
void init(int array[N][N])/*初始化矩阵*/
{
int i,j;
for(i=0;i for(j=0;j array[i][j]=i*N+j;
}
void output(int array[N][N])/*输出矩阵*/
{
int i,j;
printf("\n");
for(i=0;i {
for(j=0;j printf("%4d",array[i][j]);
printf("\n");
}
}
main()
{
int array[N][N],i,j;
clrscr();
init(array);
output(array);
convert(array,1);
output(array);
init(array);
convert(array,2);
output(array);
init(array);
convert(array,3);
output(array);
init(array);
convert(array,4);
output(array);
}