




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ù)類(lèi)型數(shù)組名[常量表達(dá)式][常量表達(dá)式]
例:inta[3][4];
定義了一個(gè)3*4(3行4列)的數(shù)組。注意:不能寫(xiě)成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ù)類(lèi)型數(shù)組名[常量表達(dá)式][常量表達(dá)式][常量表達(dá)式];
doublea[2][3][4]
定義了三位數(shù)組,共2*3*4=24個(gè)元素。多維數(shù)組在內(nèi)存中的排列順序類(lè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開(kāi)始;下標(biāo)不要超過(guò)各維的大小。例:inta[3][4];
第1行第2列的元素是a[0][1]
(也可說(shuō)成第1行的第2個(gè)元素是a[0][1])
a[2][3]是第3行的第4個(gè)元素
a[3][3]違法(2)可以將所有數(shù)據(jù)寫(xiě)在一個(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ù)組都是由相同類(lèi)型和大小的一維數(shù)組組成的,實(shí)參數(shù)組名score代表其首元素score[0]的起始地址。如果是三維或更多維的數(shù)組,處理方法也是類(lèi)似的。例:有一個(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類(lèi)型,這是C++的標(biāo)準(zhǔn)方法。(注:NOI中可以使用cstring)字符數(shù)組1.字符數(shù)組的定義用來(lái)存放字符型數(shù)據(jù)的數(shù)組為字符數(shù)組,數(shù)組中的一個(gè)元素中只能存放一個(gè)字符,整個(gè)數(shù)組可以存放一個(gè)字符串。。如:charc[5];2.字符數(shù)組的初始化字符數(shù)組的初始化方式同一維數(shù)組的初始化類(lèi)似,如: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ù)組來(lái)保存,不能用一個(gè)簡(jiǎn)單的字符變量保存,另外,字符數(shù)組的初始化方式也可寫(xiě)為:
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é)果為T(mén)hisisastring.。也可直接輸出字符串,如:cout<<“Thisisastring”
注:
字符數(shù)組中若沒(méi)有字符串結(jié)束標(biāo)志,則一直輸出到在內(nèi)存中碰到’\0’標(biāo)志。字符串輸出調(diào)用格式:cout<<字符串功能:顯示輸出字符串字符串輸入調(diào)用格式1:cin>>字符串變量功能:輸入一個(gè)字符串。調(diào)用格式2:cin.getline(字符串變量,變量大?。┕δ埽簭逆I盤(pán)輸入一個(gè)以Enter鍵標(biāo)志結(jié)束的字符串。例1輸入n個(gè)字符串,要求找出其中的最大者。要求使用函數(shù)找最大者。(每個(gè)字符串長(zhǎng)度小于30)例
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司合并合同標(biāo)準(zhǔn)文本
- 2025中外合作經(jīng)營(yíng)企業(yè)股權(quán)轉(zhuǎn)讓合同模板
- 農(nóng)村橋梁建筑合同標(biāo)準(zhǔn)文本
- 買(mǎi)房商貸合同標(biāo)準(zhǔn)文本
- led銷(xiāo)售合同標(biāo)準(zhǔn)文本
- 關(guān)于噴砂合同標(biāo)準(zhǔn)文本
- 電工作業(yè)考證實(shí)訓(xùn)銅導(dǎo)線的連接技術(shù)課件
- 公司供車(chē)合同標(biāo)準(zhǔn)文本
- ppp信托合同標(biāo)準(zhǔn)文本
- fca 合同標(biāo)準(zhǔn)文本
- 建筑節(jié)能新路徑:嚴(yán)寒地區(qū)老舊建筑改造
- 2024年寧波樞智交通科技有限公司招聘考試真題
- 數(shù)學(xué)丨湖北省八市2025屆高三下學(xué)期3月聯(lián)考數(shù)學(xué)試卷及答案
- 2024年貴州省普通高中學(xué)業(yè)水平選擇性考試地理試題
- 2024年山東輕工職業(yè)學(xué)院招聘筆試真題
- 2024年中國(guó)工商銀行遠(yuǎn)程銀行中心招聘考試真題
- 護(hù)理查房實(shí)踐報(bào)告
- 2025年文化節(jié)慶活動(dòng)贊助商合作協(xié)議書(shū)
- 2025年醫(yī)學(xué)類(lèi)單招試題及答案
- 3.1《中國(guó)科學(xué)技術(shù)史序言(節(jié)選)》教學(xué)設(shè)計(jì)-【中職專(zhuān)用】高二語(yǔ)文同步講堂(高教版2024拓展模塊上冊(cè))
- 連樂(lè)鐵路指導(dǎo)性施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論