1樓:懶先生
按照一維陣列考慮,只需要陣列裡放個衝局數昌鍵組就行了。
初始陣列data[9]=
置換數b[9]=
i遞散迅讓增。t[i]=data[b[i]]
2樓:網友
#include
main()
int s1[4][4],i,(*p)[4],k,t;
p=s1;for(i=0;i《備鬧16;i++)s1+i)=i+1;
for(i=0;i<4;i++)
for(k=i;k<4;k++)
t=*(p+i)+k);
(p+i)+k)=*p+k)+i);
(p+k)+i)=t;}
for(i=0;i<16;i++)
if(i%4==0)printf("");
printf("%3d",*s1+i));
你要啥效果仿餘罩是這樣麼?
你寫毀輪的是啥規律?
3樓:網友
n*n的二維矩陣延對角線置換都可以採取這個表示式:
當然這裡的n代表乙個確切的數,如你問的這道題搏純n代表遲銀納4。)int i,j,temp,a[n][n];
for(i=0;ifor(j=0;jtemp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;}
如果是置換的話,你寫的程式不正碼沒確。因為它只是改變了輸出的順序,沒有達到將陣列本身各相應位置進行置換的目的。
圖形學中為什麼用4*4的矩陣進行變換
4樓:北風胡曉
因為對於乙個平移變化,我們會對於x,y,z增加乙個常數。在1*3的矩陣內我們只能表示表示出乙個三維空間的點的座標。用這個矩陣乘乙個3*3的矩陣只能得到變化下的點關於x,y,z三個值所表達的座標。
因此我們需要用乙個1*4的矩。
編寫乙個4×4的矩陣,資料由主函式輸入,並將行與列置換後輸出
5樓:匿名使用者
#include
int main(void)
int a[4][4], b[4][4], i, j, t;
printf("enter the array:"); //輸入該陣列各元素;
for(i = 0; i < 4; i++)for(j = 0; j < 4; j++)scanf("%d", &a[i][j]);
for(i = 0; i < 4; i++)//行列交換,並輸出個元素;
for(j = 0; j < 4; j++)printf("%5d", a[i][j]);
b[j][i] = a[i][j];
printf("");
for(i = 0; i < 4; i++)//輸出;
for(j = 0; j < 4; j++)printf("%5d", b[i][j]);
printf("");
return 0;
c語言4*4矩陣轉置
6樓:網友
其實矩陣的轉置就是按行輸入,然後按列輸出。
程式挺簡單的。
#include
#include
int main()
for(j=0; j<4; j++)///按列輸出printf("");}
矩陣列置換
7樓:
你給出的這個置換寫法好像是群裡的一種表示法,如果按這樣的理解,你後面的解釋是對的。
希望對你有所幫助!
matlab如何用4*4的變換矩陣
8樓:
你這是圖形學的問題嗎?
用原矩陣左乘變換矩陣,這樣就可以了呀。
另外如果進行多個變換,那要按照變換的順序倒過來進行乘法運算。
這是你要的答案嗎。
置換矩陣的判定定理
9樓:
定理 1 當 m≦n時,乙個 m×n 的(0,1) 矩陣p為置換矩陣的充要條件是p的每一行恰有乙個 1,每一列恰有乙個 1。
置換矩陣在數學中的矩陣論裡,置換矩陣是一種係數只由0和1組成的方塊矩陣。置換矩陣的每一行和每一列都恰好有乙個1,其餘的係數都是0。**性代數中,每個n階的置換矩陣都代表了乙個對n個元素(n維空間的基)的置換。
當乙個矩陣乘上乙個置換矩陣時,所得到的是原來矩陣的橫行(置換矩陣在左)或縱列(置換矩陣在右)經過置換後得到的矩陣。
有關c程式設計的一道題,乙個關於4*4矩陣的問題
10樓:
你查詢最小值的時候沒有用for迴圈,所以row和colum還是上面的for迴圈的最後的值給你改下:
#include ""
void main()
int i,j,row=0,colum=0,min;
int a[4][4],sum=0;
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);
min=a[0][0];
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
if(a[i][j]min=a[i][j];
row=i;
colum=j;
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
sum=sum+a[i][i];
printf("sum=%d",sum);
11樓:網友
我算了一遍,row=,colum=,與你的相符,但sum=17+6+11+16=50.而min我也不確定應該是17..我沒執行,不知是**出了毛病。
12樓:山嶺舉人
原因就是你的for迴圈沒有把尋找最小值的過程包括進去,要加乙個大括號{}。
另外roc_chou 給出的解決方法也可以,只是要兩次迴圈,開銷比較大,我的方法只要一次迴圈就能找出最小值。
#include ""
void main()
int i,j,row=0,colum=0,min;
int a[4][4],sum=0;
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);
min=a[row][colum];%此處有改動%if(a[i][j]row=i;
colum=j;
min=a[row][colum];%此處有改動%for(i=0;i<=3;i++)
sum=sum+a[i][i];
printf("sum=%d",sum);
c++ 輸入乙個4*4的矩陣。轉置後輸出結果 **置就是行數列與列數列元素對換)
13樓:匿名使用者
我用c語言寫的 c++應該也可以用的 不知道是不是要達到你要的效果 #include
void main()
for(i=0;iprintf("");
14樓:匿名使用者
// note:your choice is c++ ide#include
using namespace std;
int jzzz(int **a,int m,int n)cout<<"您所輸出的矩陣為:"for(i=0;icout<} jzzz(&a[0],m,n); return 0;
用c語言程式設計 定義4 4二維矩陣陣列,要求行列轉換,並且分別求出主對腳線和次對角線上元素值的和
include int main printf n d sum1 sum2 printf d n d return 0 望採納,已執行容 從鍵盤輸入一個4 4矩陣,並求這個4 4矩陣主對角線元素之和,並輸出.球c語言程式設計 include int main void int i,j,sum1,su...
求矩陣的逆矩陣 c語言編的程式,求矩陣的逆矩陣 c語言編的程式
思路,就按照線性代數書上求逆矩陣的步驟,目前只會指定階的。自己做吧,分太少,編個這麼複雜的程式至少要半個小時 include include include int brinv double a,int n if d 1.0 1.0 if is k k for j 0 j n 1 j if js k...
C語言的問題C語言問題C語言問題
若有說明語句double p,a 則能通過scanf語句正確給輸入項讀入資料的程式段是 解 p a 將a的地址賦值給p,scanf lf p 從鍵盤獲取一個數值賦值給地址p指向的變數 所以選d 有函式fun的定義形式如下。int fun float f 則以下對函式fun的呼叫語句中,不正確的是 a...