魔方矩阵 C++实现
2015-11-19 18:02
295 查看
书上的一道题目,魔方矩阵,一行的元素相加与一列的元素相加的和一样大,对角线也一样大 一开始不会写,百度也没找到。。后来自己慢慢单步调试写出来了。。。 **仅供有需要的人以参考,如有错误请纠正我**
#include<iostream> using namespace std; int main() { const int NUM = 5; if (NUM % 2 == 0) { cerr << "不可以为偶数!" << endl; exit(EXIT_FAILURE); } int x = 0, y = NUM / 2; int square[NUM][NUM] = { 0 }; square[x][y] = 1; for (int i = 2; i <= NUM * NUM; i++) { x--; y++; if (x < 0 && y >= NUM) { x += 2; y -= 1; } if (x < 0) x = NUM - 1; if (y >= NUM) y = 0; while (square[x][y] != 0) { x = x + 2; y = y - 1; if (x >= NUM) x = 0; if (y < 0) y = NUM - 1; } square[x][y] = i; } for (int i = 0; i < NUM; i++) { for (int j = 0; j < NUM; j++) cout << square[i][j] << "\t"; cout << endl; } return 0; }
相关文章推荐
- C++ 二叉树的遍历
- C语言错误日志——指针返回值与数组
- C语言公式--爱情的年轮
- C++ListControl颜色控制
- C语言编程中借助pthreads库进行多线程编程的示例
- c++ txt文件的读写及乱码问题解决
- 用C语言进行最基本的socket编程
- C++中string erase函数的使用(转载)
- effective c++ 尽量少做转型动作(2)
- vc++ mfc中拖动效果的实现 借助于CImageList
- 【转】C语言产生随机数
- C++中for循环的5种语法,你可知道?
- c++的动态申请内存
- C++语言中的 静态类型员 用法
- LeetCode String to Integer (atoi) c++
- C++冒泡排序
- 一个优秀windows C++ 程序员该有哪些知识
- C++ Primer Plus第六版 第十二章 编程练习答案
- c++ int,float等转string
- c++ 头文件循环引用解法