習題描述:
將乙個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...