版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二維數(shù)組和字符串二維數(shù)組二維表數(shù)表(數(shù)陣,矩陣)
123456學(xué)號(hào)語(yǔ)文數(shù)學(xué)外語(yǔ)110010010021101101201.二維數(shù)組的定義:
數(shù)據(jù)類型數(shù)組名[常量表達(dá)式][常量表達(dá)式]
例:inta[3][4];
定義了一個(gè)3*4(3行4列)的數(shù)組。注意:不能寫成inta[3,4];的形式。inta[3,4];定義的是一維數(shù)組;數(shù)組的標(biāo)志是[],每一個(gè)[]代表一維[0][0][0][1][0][2][0][3][1][0][1][1][1][2][1][3][2][0][2][1][2][2][2][3]C++語(yǔ)言中,二維數(shù)組中元素在計(jì)算機(jī)內(nèi)存中的存放順序是:按行存放,即先在內(nèi)存中存放第一行的元素,再放第二行的元素(第一維變化慢,第二維變化快)。例:inta[3][4];二維數(shù)組a在內(nèi)存中的存放順序?yàn)閍[0][0],a[0][1],a[0][2],a[0][3],[1][0],a[1][1],a[1][2],a[1][3],a[2][0],a[2][1],a[2][2],a[2][3]C++允許使用多維數(shù)組
有了二維數(shù)組的基礎(chǔ),再掌握多維數(shù)組是不困難的。例如,三維實(shí)數(shù)數(shù)組定義為:數(shù)據(jù)類型數(shù)組名[常量表達(dá)式][常量表達(dá)式][常量表達(dá)式];
doublea[2][3][4]
定義了三位數(shù)組,共2*3*4=24個(gè)元素。多維數(shù)組在內(nèi)存中的排列順序類似于二維數(shù)組,第一維的下標(biāo)變化最慢,最右邊的下標(biāo)變化最快。
a[0][0][0],a[0][0][1],a[0][0][2],a[0][0][3],a[0][1][0],…
2二維數(shù)組元素的引用數(shù)組名[下標(biāo)][下標(biāo)]注意:每維下標(biāo)從0開始;下標(biāo)不要超過各維的大小。例:inta[3][4];
第1行第2列的元素是a[0][1]
(也可說成第1行的第2個(gè)元素是a[0][1])
a[2][3]是第3行的第4個(gè)元素
a[3][3]違法(2)可以將所有數(shù)據(jù)寫在一個(gè)花括號(hào)內(nèi),這時(shí),計(jì)算機(jī)自動(dòng)按數(shù)組元素在內(nèi)存中的排列順序?qū)Ω髟刭x初值。例:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};(3)可以只對(duì)數(shù)組中部分元素初始化。如:
inta[3][4]={{1},{5},{9}};此處的作用表示:a[0][0]元素被賦成1,a[1][0]元素被賦成5,a[2][0]元素被賦成9,而數(shù)組中的其他元素被初始化為0(與一維數(shù)組的初始化機(jī)制相同)(4)如果對(duì)二維數(shù)組的全部元素初始化,則定義數(shù)組時(shí)第一維長(zhǎng)度可以省略,但第二維長(zhǎng)度不能省,如:分行進(jìn)行初始化,如:
inta[][4]={{0,0,3},{},{0,10}}; charc[10]={‘C’,’p’,’r’,’o’,’g’,’r’,’a’,’m’,’\0’};4二維數(shù)組的賦值、輸入、輸出
使用二重循環(huán),對(duì)每個(gè)元素賦值、輸入和輸出:
for(inti=0;i<3;i++)for(intj=0;j<4;j++)//初始化有錯(cuò)誤嗎?
{cin>>a[i][j];a[i][j]*=a[i][j];cout<<a[i][j]<<endl;}例題1矩陣的行列互換將一個(gè)二維數(shù)組的行列互換,存到另外一個(gè)二維數(shù)組中。例如:
a=123行列互換后放在數(shù)組b中,b=144562536intmain(){for(inti=1;i<=9;i++)for(intj=1;j<=9;j++){
a[1][1]=5; a[0][0]=i; a[0][1]=j; a[0][2]=15-i-j; a[2][2]=15-5-i; a[1][2]=15-a[0][2]-a[2][2]; a[1][0]=15-5-a[1][2]; a[2][0]=15-i-a[1][0]; a[2][1]=15-a[2][0]-a[2][2];
if(check()) { print(); return0; }}}5intcheck(){ intflag[10]={0,0,0,0,0,0,0,0,0,0};
for(inti=0;i<3;i++) for(intj=0;j<3;j++) { if((a[i][j]>0)&&!flag[a[i][j]]) flag[a[i][j]]=1; else return0; } return1;}1.用一維數(shù)組名作函數(shù)參數(shù)可以用數(shù)組名做函數(shù)參數(shù),此時(shí)形參與實(shí)參都是數(shù)組名(也可用指針)。例:用選擇法對(duì)數(shù)組中的元素排序2.用多維數(shù)組名作函數(shù)參數(shù)如果用二維數(shù)組名作為實(shí)參和形參,在對(duì)形參數(shù)組聲明是,必須制定第二維的大小,且應(yīng)該與實(shí)參的第二維的大小相同。第一維的大小可以指定,也可以不指定。如:形參數(shù)組inta[3][10]與inta[][10],二者都合法且等價(jià);
inta[][]與inta[3][]兩者都不合法。
在第二維大小相同的前提下,形參和實(shí)參的第一維可以不同。如實(shí)參數(shù)組定義為intscore[5][10];則形參可以聲明為intscore[3][10];intscore[][10];
這時(shí)形參二維數(shù)組與實(shí)參二維數(shù)組都是由相同類型和大小的一維數(shù)組組成的,實(shí)參數(shù)組名score代表其首元素score[0]的起始地址。如果是三維或更多維的數(shù)組,處理方法也是類似的。例:有一個(gè)3*4的矩陣,求矩陣中所有元素的最大值。要求用函數(shù)求最大值。intmax(intarr[][4],intn){intm;m=a[0][0];for(inti=0;i<n;i++)for(intj=0;j<4;j++)if(m<arr[i][j])m=m<arr[i][j];returnm;}//由小到大直接選擇排序#include<iostream>usingnamespacestd;inta[10001];voidSelectSort(intarray[],intn){inti,j,k,temp;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>a[j])//改成a[i]<a[j]就變成由大到小排序了
{temp=a[i];a[i]=a[j];a[j]=temp;}}intmain(){intn,i;cin>>n;for(i=0;i<n;i++)cin>>a[i];SelectSort(a,n);for(i=0;i<n;i++)cout<<a[i]<<"";return0;}intmain(){intn,i;cin>>n;for(i=0;i<n;i++)cin>>a[i];BuddleSort(a,n);for(i=0;i<n;i++)cout<<a[i]<<"";return0;}字符串C++對(duì)字符串的處理方法有兩種:一種是用字符數(shù)組,這是繼承自C語(yǔ)言的方法;另外一種是標(biāo)準(zhǔn)模板庫(kù)里的cstring類型,這是C++的標(biāo)準(zhǔn)方法。(注:NOI中可以使用cstring)字符數(shù)組1.字符數(shù)組的定義用來存放字符型數(shù)據(jù)的數(shù)組為字符數(shù)組,數(shù)組中的一個(gè)元素中只能存放一個(gè)字符,整個(gè)數(shù)組可以存放一個(gè)字符串。。如:charc[5];2.字符數(shù)組的初始化字符數(shù)組的初始化方式同一維數(shù)組的初始化類似,如:charc[5]={‘a(chǎn)’,’b’,’c’,’d’,’e’};charc[6]]={‘a(chǎn)’,’b’,’c’,’d’,’e’,’\0’};等價(jià)于charc[6]]={‘a(chǎn)’,’b’,’c’,’d’,’e’};4.字符串和字符串結(jié)束標(biāo)志在C++語(yǔ)言中字符串是以‘\0’代表結(jié)束標(biāo)志。如:“C.program”是9個(gè)字符的字符串,但在內(nèi)存中占10個(gè)字節(jié),最后一個(gè)字節(jié)存放‘\0’。注意:字符串要用字符數(shù)組來保存,不能用一個(gè)簡(jiǎn)單的字符變量保存,另外,字符數(shù)組的初始化方式也可寫為:
charc[10]=“C.program”;//charc[10]={“C.program”};charc[10]={‘C’,’.’,’p’,’r’,’o’,’g’,’r’,’a’,’m’,’\0’}charc[10]={‘C’,’.’,’p’,’r’,’o’,’g’,’r’,’a’,’m’}//字符數(shù)組多留一個(gè)空間,初始化自動(dòng)填’\0’
與charc[9]={‘C’,’.’,’p’,’r’,’o’,’g’,’r’,’a’,’m’}不等價(jià)5.字符串的輸入、輸出:(1)用cin輸入
cin>>字符串或字符數(shù)組名;例:chars[20];cin>>s;(2)用cout輸出,格式是:
cout<<字符串或字符數(shù)組名;例:chars[20]={“Thisisastring.”};cout<<s;
的輸出結(jié)果為Thisisastring.。也可直接輸出字符串,如:cout<<“Thisisastring”
注:
字符數(shù)組中若沒有字符串結(jié)束標(biāo)志,則一直輸出到在內(nèi)存中碰到’\0’標(biāo)志。字符串輸出調(diào)用格式:cout<<字符串功能:顯示輸出字符串字符串輸入調(diào)用格式1:cin>>字符串變量功能:輸入一個(gè)字符串。調(diào)用格式2:cin.getline(字符串變量,變量大?。┕δ埽簭逆I盤輸入一個(gè)以Enter鍵標(biāo)志結(jié)束的字符串。例1輸入n個(gè)字符串,要求找出其中的最大者。要求使用函數(shù)找最大者。(每個(gè)字符串長(zhǎng)度小于30)例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度生態(tài)農(nóng)業(yè)科技園承包經(jīng)營(yíng)合同范本3篇
- 2025年度綠色能源儲(chǔ)藏室建設(shè)與維護(hù)合同3篇
- 二零二五版城市綜合體建設(shè)項(xiàng)目建筑垃圾清運(yùn)及環(huán)保處理合同3篇
- 2025年度體育場(chǎng)館租賃與賽事組織合同3篇
- 二零二五年高性能保溫施工合同補(bǔ)充條款及驗(yàn)收標(biāo)準(zhǔn)3篇
- 2025年水電暖安裝與節(jié)能改造項(xiàng)目總承包合同3篇
- 2025年度醫(yī)院窗簾定制及消毒防菌合同3篇
- 2025年度智能化倉(cāng)庫(kù)場(chǎng)地租賃服務(wù)合同范本3篇
- 2025年度拍賣物品售后服務(wù)反饋合同范本
- 2025年度智能租賃平臺(tái)廠房租賃居間協(xié)議3篇
- 2024-2030年中國(guó)電子郵箱行業(yè)市場(chǎng)運(yùn)營(yíng)模式及投資前景預(yù)測(cè)報(bào)告
- 基礎(chǔ)設(shè)施零星維修 投標(biāo)方案(技術(shù)方案)
- 人力資源 -人效評(píng)估指導(dǎo)手冊(cè)
- 大疆80分鐘在線測(cè)評(píng)題
- 2024屆廣東省廣州市高三上學(xué)期調(diào)研測(cè)試英語(yǔ)試題及答案
- 中煤平朔集團(tuán)有限公司招聘筆試題庫(kù)2024
- 2023年成都市青白江區(qū)村(社區(qū))“兩委”后備人才考試真題
- 不付租金解除合同通知書
- 區(qū)域合作伙伴合作協(xié)議書范本
- 中學(xué)數(shù)學(xué)教學(xué)設(shè)計(jì)全套教學(xué)課件
- 環(huán)衛(wèi)公司年終工作總結(jié)
評(píng)論
0/150
提交評(píng)論