编程算法 - 旋转矩阵 代码(C)
2015-08-22 20:55
176 查看
旋转矩阵 代码(C)
本文地址: http://blog.csdn.net/caroline_wendy输出旋转矩阵, 使矩阵是按对角线螺旋上升, 在输出规则确定以后, 就能够推断, 上升规律是, 行列相加为定值.
所以採用两次循环的方法, 而且上下矩阵, 分开输出.
如:
1 2 6 7 15 3 5 8 14 16 4 9 13 17 22 10 12 18 21 23 11 19 20 24 25
代码:
/* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> void output(int n) { if (n < 0) return; const int MAX = 100; int a[MAX][MAX]; int min = 1; int max = n*n; //上半个矩阵 for (int i=0; i<n; i++) { for (int j=0; j<i+1; j++) if (i % 2 == 0) { a[i-j][j] = min++; a[n-1-i+j][n-1-j] = max--; } else { a[j][i-j] = min++; a[n-1-j][n-1-i+j] = max--; } } for (int i=0; i<n; i++) { for (int j=0; j<n; j++) printf("%3d%c", a[i][j], j == n - 1 ? '\n' : ' '); } } int main() { output(5); return 0; }
输出:
1 2 6 7 15 3 5 8 14 16 4 9 13 17 22 10 12 18 21 23 11 19 20 24 25
相关文章推荐
- spring 注解
- Spark里面:获取图Spark有多少行代码
- Exception in thread " " java.lang.UnsupportedClassVersionError: 错误
- C++ Vector 最大 最小值 索引 位置
- 编写高质量代码改善C#程序的157个建议——建议117:使用SSL确保通信中的数据安全
- Eclipse创建Struts项目
- c++_学习笔记0822
- Java------类加载机制
- Effective C++ 条款13 以对象管理资源
- Java- 对象清楚与垃圾回收
- Java Map接口Properties
- 匹夫细说C#:委托的简化语法,聊聊匿名方法和闭包
- c++操作符重载
- 关于win7 下delphi7出现重新注册,无法打开的故障解决办法
- LeetCode[85]::Maximal Rectangle C++
- c++与Tcl通过管道通信,并传递参数,获取测试仪实时测试进度
- Git服务器搭建+上传代码
- c++/tcl编程总结
- Java生成CSV文件
- C++设计模式——组合模式