數(shù)據(jù)結(jié)構(gòu)之矩陣行列和相等的實(shí)例
更新時間:2017年10月11日 08:35:25 作者:愛思考的小鳥
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之矩陣行列和相等的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
以下為展示“矩陣行列和相等”的簡單示例:
1.用c語言實(shí)現(xiàn)的版本
#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); } //初始化數(shù)組 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) //如果里面沒數(shù)字 { a[i][j] = k; } else //得到新的數(shù)值 { 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++語言實(shí)現(xiàn)的版本
#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; } 初始化數(shù)組 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) //如果里面沒數(shù)字 { a[i][j] = k; } else //得到新的數(shù)值 { 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"); } }
運(yùn)行結(jié)果如下圖所示:
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
C++中內(nèi)存池和內(nèi)存分配區(qū)Arena概念詳解
在 C++ 中,內(nèi)存分配區(qū)(Arena)通常指的是預(yù)先分配的一大塊連續(xù)內(nèi)存空間,這種方法的主要目的是提高內(nèi)存分配和釋放的效率,下面就跟隨小編一起了解一下C++中內(nèi)存池和內(nèi)存分配區(qū)Arena相關(guān)概念吧2023-12-12Qt MQTT開發(fā)環(huán)境搭建的實(shí)現(xiàn)示例
本文主要介紹了Qt MQTT開發(fā)環(huán)境搭建的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06詳解C++設(shè)計模式編程中對訪問者模式的運(yùn)用
這篇文章主要介紹了C++設(shè)計模式編程中對訪問者模式的運(yùn)用,訪問者模式在不破壞類的前提下為類提供增加新的新操作,需要的朋友可以參考下2016-03-03Qt自繪實(shí)現(xiàn)蘋果按鈕滑動效果的示例代碼
這篇文章主要介紹了Qt自繪實(shí)現(xiàn)蘋果按鈕滑動效果的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11利用C++實(shí)現(xiàn)最長公共子序列與最長公共子串
這篇文章主要給大家介紹了如何利用C++實(shí)現(xiàn)最長公共子序列與最長公共子串,文章一開始就給大家簡單的介紹了什么是子序列,子串應(yīng)該比較好理解就不用多介紹了,人后通過算法及示例代碼詳細(xì)介紹了C++實(shí)現(xiàn)的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12使用C++實(shí)現(xiàn)監(jiān)控文件是否被修改
軟件開發(fā)過程中經(jīng)常會用到配置文件,某些應(yīng)用場景要求在軟件運(yùn)行時動態(tài)修改配置文件,此時就需要監(jiān)控配置文件是否被修改,下面我們就來看看如何使用C++實(shí)現(xiàn)這一功能吧2024-02-02