python逆时针旋转矩阵_由外向内顺时针&逆时针旋转矩阵

本文展示了如何使用C++实现一个Python逆时针旋转矩阵的算法,并给出了顺时针和逆时针旋转后的输出示例。代码初始化并打印了一个按顺时针和逆时针排列的数值矩阵。
摘要由CSDN通过智能技术生成

代码如下:

#include

using namespace ::std;

#define N 10

int a[N][N];

void InitSeq( int n )

{

int value = 1;

int i, j;

for( i = 0; i < n/2; i++ ) // n/2是圈数

{

for( j = i; j < n - i; j++ ) //向右增长

{

a[j][i] = value++;

}

for( j = i + 1; j < n - i; j++ ) //向下增长

{

a[n-1-i][j] = value++;

}

for( j = n - 2 - i; j > i; j-- ) //向左增长

{

a[j][n-1-i] = value++;

}

for( j = n - 1 - i; j > i; j-- ) //向上增长

{

a[i][j] = value++;

}

//n为奇数时,最中间数的值

if( n % 2 == 1 )

a[n/2][n/2] = value;

}

}

void printSeq( int n )

{

cout << "顺时针:" << endl;

for( int i = 0; i < n; i++ )

{

for( int j = 0; j < n; j++ )

{

printf( "%5d", a[j][i] );

}

printf("\n");

}

cout << "逆时针:" << endl;

for( int i = 0; i < n; i++ )

{

for( int j = 0; j < n; j++ )

{

printf( "%5d", a[i][j] );

}

printf("\n");

}

}

int main()

{

int n;

cout << "请输入旋转矩阵边的大小:";

cin >> n;

InitSeq(n);

printSeq(n);

system( "PAUSE");

return 0;

}

输出结果:

请输入旋转矩阵边的大小:7

顺时针:

1 2 3 4 5 6 7

24 25 26 27 28 29 8

23 40 41 42 43 30 9

22 39 48 49 44 31 10

21 38 47 46 45 32 11

20 37 36 35 34 33 12

19 18 17 16 15 14 13

逆时针:

1 24 23 22 21 20 19

2 25 40 39 38 37 18

3 26 41 48 47 36 17

4 27 42 49 46 35 16

5 28 43 44 45 34 15

6 29 30 31 32 33 14

7 8 9 10 11 12 13

请按任意键继续. . .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值