lesson10數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序ppt課件_第1頁
lesson10數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序ppt課件_第2頁
lesson10數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序ppt課件_第3頁
lesson10數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序ppt課件_第4頁
lesson10數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組與排序ppt課件_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造Lesson 10 數(shù)據(jù)的組織構(gòu)造2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造學(xué)習(xí)目的:31掌握二維數(shù)組的運用2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組3數(shù)學(xué)概念矩陣: 80 70 9997 83 92 6591 85 88 76例:2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組3日常生活例子表格:123456789101112131415162022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組3特點: 按行、列分布,并且每個數(shù)據(jù)需求由兩個位置確定: 一個行位置,一個列位置C言語中實現(xiàn)方法:二維數(shù)組2022/

2、7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組3在C言語中如何實現(xiàn)?類型 數(shù)組名 行長度列長度int array 34例:float d 35; int a66; char s410;一切元素都是int數(shù)組名3行4列留意:必需是常量array 2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組3二維數(shù)組的援用1234567891011127第1行第2列數(shù)組aa1 2數(shù)組名行下標(biāo)列下標(biāo) 2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組3二維數(shù)組初始化:在定義二維數(shù)組時,給元素賦初值方式1: int a23=1,2,3,4,5,6; 方式2: int a23=1,2,3,4,5

3、,6; 方式3: int a 3=1,2,3,4,5,6; 方式4: int a2=1,2,3,4,5,6; 錯誤!2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組操作4二維數(shù)組元素的援用及根本操作數(shù)組的賦值 for (i=0; iROWS; i+) for (j=0; jCOLS; j+) valueij = i+j; 數(shù)組的輸入 for (i=0; iROWS; i+) for (j=0; jCOLS; j+) scanf(“%d, &valueij);#define ROWS 4#define COLS 5int value ROWSCOLS; 2022/7/18電氣與信息工程

4、學(xué)院計算機(jī)系制造3二維數(shù)組操作4二維數(shù)組元素的援用及根本操作3. 數(shù)組的輸出 for (i=0; iROWS; i+) for (j=0; jCOLS; j+) printf(“%4d, valueij); putchar(n); #define ROWS 4#define COLS 5int value ROWSCOLS; 2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組操作4例題:從鍵盤輸入如下的矩陣1 2 4 5 3 4 5 75 7 9 8然后輸出該矩陣2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造lessson11_01.c#include int main()int a

5、34,i,j;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j4;j+)printf(%4d,aij);printf(n); return 0;2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組運用5例6: 判別給定方陣能否為對稱矩陣。 1102188210413992521136143688991471232253612332022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組運用5問題分析對于一個給定的NN矩陣array,假設(shè)矩陣中的每個元素都滿足arrayij=arrayji,那么稱這個矩陣為

6、對稱矩陣。 在判別一個給定的矩陣能否為對稱矩陣時,只需求用下三角部分的每個元素與對應(yīng)的上三角元素進(jìn)展比較。假設(shè)每一對元素都相等,這個矩陣就是對稱矩陣,否那么,就是非對稱矩陣。2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造算法描畫 2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造#include #define NUM 5 矩陣行列數(shù)int main( ) int mNUMNUM; /*定義二維數(shù)組變量*/ int i, j;/* 輸入矩陣 */ printf(Enter %d rows %d cols datas for the maxtrix:n,NUM,NUM); for (i=0; i

7、NUM; i+) for (j=0; jNUM; j+) scanf(%d, &mij); /* 顯示矩陣 */ for (i=0; iNUM; i+) for (j=0; jNUM; j+) printf(%4d, mij); printf(n); lesson11_06_1.c2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造/* 判別矩陣能否對稱并輸出相應(yīng)的結(jié)果 */ for (i=0; iNUM; i+) for (j=0; ji; j+) if (mij!=mji) printf(nThe matrix isnt symmetrical.); return 0; printf(nThe

8、 matrix is symmetrical.); return 0;2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組運用5改良:從文件讀入數(shù)組運用標(biāo)志變量判別2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造#include #define NUM 5 矩陣行列數(shù)int main( ) int mNUMNUM; /*定義二維數(shù)組變量*/ int i, j; FILE * fp; /* 輸入矩陣 */ fp=fopen(m.txt,r); for (i=0; iNUM; i+) for (j=0; jNUM; j+) fscanf(fp,%d, &mij); /* 顯示矩陣 */ fo

9、r (i=0; iNUM; i+) for (j=0; jNUM; j+) printf(%4d, mij); printf(n); lesson11_06_2.c2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造/* 判別矩陣能否對稱并輸出相應(yīng)的結(jié)果 */ for (i=0; iNUM; i+) for (j=0; ji; j+) if (mij!=mji) flag=0; break; if(flag=1)printf(n對稱); elseprintf(n不對稱); return 0;2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組運用5例7:輸入3個同窗、4門課程的成果,并按照如

10、下格式輸出(成果保管在score.txt文件中) 80 70 9997 83 92 6591 85 88 762022/7/18電氣與信息工程學(xué)院計算機(jī)系制造#include #define STUS 3 #define LSN 4 int main( ) int mSTUSLSN; /*定義二維數(shù)組變量*/ int i, j; FILE * fp; fp=fopen(score.txt,r); for (i=0; iSTUS; i+) for (j=0; jLSN; j+) fscanf(fp,%d, &mij); /* 顯示矩陣 */ for (i=0; iSTUS; i+) for (j

11、=0; jLSN; j+) printf(%4d, mij); printf(n); lesson11_07.c2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3二維數(shù)組運用5從鍵盤輸入一個矩陣,將該矩陣轉(zhuǎn)置后輸出2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造分析:定義一個2行4列的二維數(shù)組a,用于存放原始的矩陣定義一個4行2列的二維數(shù)組b,用于存放轉(zhuǎn)置后的矩陣循環(huán)數(shù)組a的一切元素,將a中的每一個元素存放至b的對應(yīng)位置:行列位置正好相反輸出二維數(shù)組b2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3課堂練習(xí)6輸出如以下圖形16111621271217223813182349141924510

12、1520252022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3排序7例:假設(shè)用戶經(jīng)過鍵盤輸入一個整型數(shù)列。請編寫一個程序,將其按照從小到大的順序重新陳列。即在從鍵盤輸入如下的數(shù)據(jù)2 6 8 1 9 5 4輸出1 2 4 5 6 8 9 2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造3排序7問題分析首先從n個數(shù)據(jù)中選擇一個最小的數(shù)據(jù),并將它交換到第1個位置;然后再從后面n-1個數(shù)據(jù)中選擇一個最小的數(shù)據(jù),并將它交換到第2個位置;以此類推,直至最后從兩個數(shù)據(jù)中選擇一個最小的數(shù)據(jù),并將它交換到第n-1個位置為止,整個排序操作終了。 2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造算法描畫 2022/

13、7/18電氣與信息工程學(xué)院計算機(jī)系制造#include #define NUM 10 /* 參與排序的數(shù)據(jù)個數(shù) */int main() int dataNUM; /* 存放參與排序的一切整數(shù) */ int i, j, minIndex, temp; /* 經(jīng)過鍵盤輸入待排序的整型數(shù)列 */ printf(nEnter %d integers., NUM); for (i=0; iNUM; i+) scanf(%d, &datai); /* 顯示原始整型數(shù)列 */ printf(n%d integers are:, NUM); for (i=0; iNUM; i+) printf(%5d, datai); lesson10_01.c2022/7/18電氣與信息工程學(xué)院計算機(jī)系制造 for (i=0; iNUM-1; i+) minIndex = i; for (j=i+1; jNUM; j+) if (datajdataminIndex)/* 交換 * temp = dataj; dataj = dataminIndex; dataminIndex = tem

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論