矩陣特殊轉換

2021-04-13 05:14:08 字數 1115 閱讀 2641

習題描述:

將乙個5*5的矩陣中最大的元素放在中心,四個角分別放四個最小的元素(順序從左到右,從上到下順序依次從小到大存放),寫乙個函式實現之。用main函式呼叫。

例如原來矩陣:

35 34 33 32 31

30 29 28 27 26

25 24 23 22 21

20 19 18 17 16

15 14 13 12 11

改變後的矩陣

11 34 33 32 12

30 29 28 27 26

25 24 35 22 21

20 19 18 17 16

13 23 15 31 14

程式好如下:

#include "stdafx.h"

int main(int argc, char* argv)

//output

printf("array a:/n");

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

printf("/n");

//copy

int *s = null;

s = (int *)malloc(sizeof(int)*25);

for(i=0;i<25;i++)

//sort

int x;

for(i=1;i<25;i++)

} }//search minnumber

int temp;

for(i=0;i<4;i++)

if((s[0]-p[j])==0)

else

if((s[1]-p[j])==0)

else

if((s[2]-p[j])==0)

else

if((s[3]-p[j])==0)

}//search maxnumber

int temp2;

for(j=0;j<25;j++)

if((s[24]-p[j])==0) 

//finish

printf("array b:/n");

for(j = 0;j<25;j++)

printf("/n"); 

return 0; }

特殊矩陣 稀疏矩陣

對於乙個m n的矩陣,設s為矩陣的元素總個數s m n,設t為矩陣中非零元素的個數,滿足t 稀疏矩陣的零元素非常多,且分布無規律,所以稀疏矩陣的壓縮儲存方法為 只儲存矩陣中的非零元素,按照三元組的形式儲存。三元組由非零元素,該元素行下標和該元素列下標三個資料構成,放在乙個列數為3的陣列中。儲存結構又...

矩陣及其特殊矩陣

之前我們已經用陣列的陣列方式寫了乙個二維陣列,並實現了其轉置,加法和乘法運算,現在我們將用行主描述方法重寫乙個矩陣及其運算。template class matrix int rows const int columns const t operator int i,int j const matr...

特殊矩陣運算

問題描述 假設矩陣存在某種特殊運算,要求對矩陣任意乙個元素減1時,必須對其鄰居 上下左右 中的乙個同時減1。現給定乙個矩陣,要求判斷能否通過有限次特殊運算得到零矩陣 思路 回溯法。列舉所有可進行特殊運算的位置並以此遞迴,若出現元素小於0的情況則進行回溯。不用每次判斷零矩陣,只需要維護乙個計數變數cn...