題目描述:乙個魔法正方形是乙個n×
n 的矩陣,其中整數1,2,3,…,n2
出現且僅僅出現一次,而每一行、每一列和對角線上的和都相等。例如,下面就是乙個5×
5 的魔法正方形,所有的行、列及對角線上的和都為65(請忽略第一行)。
:–::–:
:–::–:
:–:17241
815235
714164
6132022
1012
1921311
182529
下面是對乙個任意的奇數n建立乙個n×
n 的魔法正方形的過程。將1放在最頂行的中間。然後在整數k被放置好後,除非發生了下列情況之一,否則向上移動一行,向右移動一列來放置下乙個整數k+1。
c++實現:
#include
using
namespace
std;
void magicsquare(unsigned **square, unsigned n);
void main()
/*申請二維陣列結束*/
/*初始化陣列*/
for (int i = 0; i < n; i++)
}/*陣列初始化結束*/
magicsquare(square, n);
/*輸出陣列元素*/
for (int i = 0; i < n; i++) }}
/*輸出結束*/
/*釋放記憶體*/
delete square;
square = null;
system("pause");
}/*----------------------------------------
unsigned n:正方形的邊長
----------------------------------------*/
void magicsquare(unsigned **square, unsigned n)
else
if (row >= 0 && colum == n)
else
if (row < 0 && colum == n)
if (square[row][colum] == 0)
else
k++;
}}
第3章 第2 2節 預編譯
2.1 函式宣告整體提公升 2.2 變數宣告提公升 2.3 預編譯前奏 1.imply global 暗示全域性變數 即任何變數,如果變數未經宣告就賦值,此變數就為全域性物件所有。eg a 123 eg var a b 123 2.一切宣告的全域性變數,全是window的屬性。eg var a 12...
第3章 第2 2節 預編譯
2.1 函式宣告整體提公升 2.2 變數宣告提公升 2.3 預編譯前奏 1.imply global 暗示全域性變數 即任何變數,如果變數未經宣告就賦值,此變數就為全域性物件所有。eg a 123 eg var a b 123 2.一切宣告的全域性變數,全是window的屬性。eg var a 12...
第9章 順序容器 3
9.2 迭代器和迭代器範圍 與容器型別一樣,所有迭代器具有相同的介面 如果某種迭代器支援某種操作,那麼支援這種操作的其他迭代器也會以相同的方式支援這種操作。iter iter memvector和deque容器的迭代器提供額外的運算 只有vector和deque容器提供下面幾種重要的運算集合 迭代器...