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

下載本文檔

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

文檔簡介

2024/1/25電氣與信息工程學院計算機系制造Lesson10數(shù)據(jù)的組織構(gòu)造2024/1/25電氣與信息工程學院計算機系制造學習目的:31掌握二維數(shù)組的運用2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組3數(shù)學概念矩陣:8070999783926591858876例:2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組3日常生活例子表格:123456789101112131415162024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組3特點:按行、列分布,并且每個數(shù)據(jù)需求由兩個位置確定:一個行位置,一個列位置C言語中實現(xiàn)方法:二維數(shù)組2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組3在C言語中如何實現(xiàn)?類型數(shù)組名[行長度][列長度]intarray[3][4]例:floatd[3][5];inta[6][6];chars[4][10];一切元素都是int數(shù)組名3行4列留意:必需是常量array2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組3二維數(shù)組的援用1234567891011127第1行第2列數(shù)組aa[1][2]數(shù)組名[行下標][列下標]2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組3二維數(shù)組初始化:在定義二維數(shù)組時,給元素賦初值方式1:inta[2][3]={1,2,3,4,5,6};方式2:inta[2][3]={{1,2,3},{4,5,6}};方式3:inta[][3]={1,2,3,4,5,6};方式4:inta[2][]={1,2,3,4,5,6};×錯誤!2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組操作4二維數(shù)組元素的援用及根本操作數(shù)組的賦值for(i=0;i<ROWS;i++)for(j=0;j<COLS;j++)value[i][j]=i+j;數(shù)組的輸入for(i=0;i<ROWS;i++)for(j=0;j<COLS;j++)scanf(“%d〞,&value[i][j]);#defineROWS4#defineCOLS5intvalue[ROWS][COLS];2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組操作4二維數(shù)組元素的援用及根本操作3.數(shù)組的輸出for(i=0;i<ROWS;i++){for(j=0;j<COLS;j++)printf(“%4d〞,value[i][j]);putchar(‘\n’);}#defineROWS4#defineCOLS5intvalue[ROWS][COLS];2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組操作4例題:從鍵盤輸入如下的矩陣124534575798然后輸出該矩陣2024/1/25電氣與信息工程學院計算機系制造lessson11_01.c#include<stdio.h>intmain(){inta[3][4],i,j;for(i=0;i<3;i++){ for(j=0;j<4;j++){

}}scanf("%d",&a[i][j]);for(i=0;i<3;i++){ for(j=0;j<4;j++){

}}printf("%4d",a[i][j]);printf("\n");return0;}2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組運用5例6:判別給定方陣能否為對稱矩陣。1102188210413992521136143688991471232253612332024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組運用5問題分析對于一個給定的NN矩陣array,假設(shè)矩陣中的每個元素都滿足array[i][j]=array[j][i],那么稱這個矩陣為對稱矩陣。在判別一個給定的矩陣能否為對稱矩陣時,只需求用下三角部分的每個元素與對應(yīng)的上三角元素進展比較。假設(shè)每一對元素都相等,這個矩陣就是對稱矩陣,否那么,就是非對稱矩陣。2024/1/25電氣與信息工程學院計算機系制造算法描畫2024/1/25電氣與信息工程學院計算機系制造#include<stdio.h>#defineNUM5矩陣行列數(shù)intmain(){intm[NUM][NUM];/*定義二維數(shù)組變量*/inti,j;/*輸入矩陣*/printf("\Enter%drows%dcolsdatasforthemaxtrix:\n",NUM,NUM);for(i=0;i<NUM;i++)for(j=0;j<NUM;j++) scanf("%d",&m[i][j]);/*顯示矩陣*/for(i=0;i<NUM;i++){for(j=0;j<NUM;j++) printf("%4d",m[i][j]);printf("\n");}lesson11_06_1.c2024/1/25電氣與信息工程學院計算機系制造/*判別矩陣能否對稱并輸出相應(yīng)的結(jié)果*/for(i=0;i<NUM;i++)for(j=0;j<i;j++) if(m[i][j]!=m[j][i]){ printf("\nThematrixisn'tsymmetrical."); return0; }printf("\nThematrixissymmetrical.");return0;}2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組運用5改良:從文件讀入數(shù)組運用標志變量判別2024/1/25電氣與信息工程學院計算機系制造#include<stdio.h>#defineNUM5矩陣行列數(shù)intmain(){intm[NUM][NUM];/*定義二維數(shù)組變量*/inti,j;FILE*fp;/*輸入矩陣*/fp=fopen("m.txt","r");for(i=0;i<NUM;i++)for(j=0;j<NUM;j++) fscanf(fp,"%d",&m[i][j]);/*顯示矩陣*/for(i=0;i<NUM;i++){for(j=0;j<NUM;j++) printf("%4d",m[i][j]);printf("\n");}lesson11_06_2.c2024/1/25電氣與信息工程學院計算機系制造/*判別矩陣能否對稱并輸出相應(yīng)的結(jié)果*/for(i=0;i<NUM;i++)for(j=0;j<i;j++) if(m[i][j]!=m[j][i]){ flag=0; break;}if(flag==1) printf("\n對稱");else printf("\n不對稱");return0;}2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組運用5例7:輸入3個同窗、4門課程的成果,并按照如下格式輸出(成果保管在score.txt文件中)80709997839265918588762024/1/25電氣與信息工程學院計算機系制造#include<stdio.h>#defineSTUS3#defineLSN4intmain(){intm[STUS][LSN];/*定義二維數(shù)組變量*/inti,j;FILE*fp;fp=fopen("score.txt","r");for(i=0;i<STUS;i++)for(j=0;j<LSN;j++) fscanf(fp,"%d",&m[i][j]);/*顯示矩陣*/for(i=0;i<STUS;i++){for(j=0;j<LSN;j++) printf("%4d",m[i][j]);printf("\n");}lesson11_07.c2024/1/25電氣與信息工程學院計算機系制造3二維數(shù)組運用5從鍵盤輸入一個矩陣,將該矩陣轉(zhuǎn)置后輸出2024/1/25電氣與信息工程學院計算機系制造分析:定義一個2行4列的二維數(shù)組a,用于存放原始的矩陣定義一個4行2列的二維數(shù)組b,用于存放轉(zhuǎn)置后的矩陣循環(huán)數(shù)組a的一切元素,將a中的每一個元素存放至b的對應(yīng)位置:行列位置正好相反輸出二維數(shù)組b2024/1/25電氣與信息工程學院計算機系制造3課堂練習6輸出如以下圖形161116212712172238131823491419245101520252024/1/25電氣與信息工程學院計算機系制造3排序7例:假設(shè)用戶經(jīng)過鍵盤輸入一個整型數(shù)列。請編寫一個程序,將其按照從小到大的順序重新陳列。

即在從鍵盤輸入如下的數(shù)據(jù)

2681954

輸出

12456892024/1/25電氣與信息工程學院計算機系制造3排序7問題分析首先從n個數(shù)據(jù)中選擇一個最小的數(shù)據(jù),并將它交換到第1個位置;然后再從后面n-1個數(shù)據(jù)中選擇一個最小的數(shù)據(jù),并將它交換到第2個位置;以此類推,直至最后從兩個數(shù)據(jù)中選擇一個最小的數(shù)據(jù),并將它交換到第n-1個位置為止,整個排序操作終了。2024/1/25電氣與信息工程學院計算機系制造算法描畫2024/1/25電氣與信息工程學院計算機系制造#include<stdio.h>#defineNUM10 /*參與排序的數(shù)據(jù)個數(shù)*/intmain(){intdata[NUM]; /*存放參與排序的一切整數(shù)*/inti,j,minIndex,temp;/*經(jīng)過鍵盤輸入待排序的整型數(shù)列*/printf("\nEnter%dintegers.",NUM);for(i=0;i<NUM;i++){scanf("%d",&data[i]);}/*顯示原始整型數(shù)列*/printf("\n%dintegersare:",NUM);for(i=0;i<NUM;i++){printf("%5d",data[i]);}lesson10_01.c2024/1/25電氣與信息工程學院計算機系制造for(i=0;i<NUM-1;i++){minIndex=i;for(j=i+1;j<NUM;j++){ if(data[j]<data[minIndex]){/*交換* temp=data[j]; data[j]=data[minIndex]; data[minIndex]=temp;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論