第3章 程式設計問題 3 3節 9

2021-08-01 16:06:54 字數 1184 閱讀 8512

題目描述:乙個魔法正方形是乙個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容器提供下面幾種重要的運算集合 迭代器...