您好,登錄后才能下訂單哦!
這篇文章主要介紹了c語言數據結構之矩陣行列和相等的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
以下為展示“矩陣行列和相等”的簡單示例:
1.用c語言實現的版本
#include <stdio.h> #include <math.h> void main() { int a[16][16],i,j,n,k; printf("Please input n(1~15,it must be odd.): "); scanf("%d",&n); while(!(n>=1&&n<=15) || n%2==0) { printf("The number is invalid.Please insert again:"); scanf("%d",&n); } //初始化數組 for(i=0; i<=n; ++i) { for(j=0; j<=n; ++j) { a[i][j]=0; } } j = n/2 + 1; a[1][j] = 1; i = 1; for(k=2; k<=n*n; ++k) { i = i - 1; j = j + 1; if(i==0 && j==n+1) //行列都越界 { i = i+2; j = j-1; } else { if(i==0) //行越界 { i = n; } if(j==n+1) //列越界 { j = 1; } } if(a[i][j]==0) //如果里面沒數字 { a[i][j] = k; } else //得到新的數值 { i = i + 2; j = j - 1; a[i][j] = k; } } for(i=1; i<=n; ++i) { for(j=1; j<=n; ++j) { printf("%3d", a[i][j]); } printf("\n"); } }
2.用C++語言實現的版本
#include <iostream> #include <math.h> void main() { int a[16][16],i,j,n,k; std::cout<<"Please input n(1~15,it must be odd.): "; std::cin>>n; while(!(n>=1&&n<=15) || n%2==0) { std::cout<<"The number is invalid.Please insert again:"; std::cin>>n; } 初始化數組 for(i=0; i<=n; ++i) { for(j=0; j<=n; ++j) { a[i][j]=0; } } i = 0; j = n/2; a[i][j] = 1; for(k=2; k<=n*n; ++k) { i = i - 1; j = j + 1; if(i<=-1 && j>=n) //行列都越界 { i = 1; j = n - 1; } else { if( i<=-1 ) //行越界 { i = n - 1; } if(j>=n) //列越界 { j = 0; } } if(a[i][j]==0) //如果里面沒數字 { a[i][j] = k; } else //得到新的數值 { i = i + 2; j = j - 1; a[i][j] = k; } } for(i=0; i<=n-1; ++i) { for(j=0; j<=n-1; ++j) { printf("%3d", a[i][j]); } printf("\n"); } }
運行結果如下圖所示:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“c語言數據結構之矩陣行列和相等的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。