最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++利用數(shù)組(一維/二維)處理批量數(shù)據(jù)的方法

 更新時(shí)間:2023年10月08日 09:37:41   作者:衛(wèi)衛(wèi)周大胖;  
對(duì)于簡(jiǎn)單的問(wèn)題,使用簡(jiǎn)單的數(shù)據(jù)類(lèi)型就可以了,但是對(duì)于有些需要處理的數(shù)據(jù),只用以上簡(jiǎn)單的數(shù)據(jù)類(lèi)型是不夠的,難以反映出數(shù)據(jù)的特點(diǎn),也難以有效的進(jìn)行處理,本文小編給大家介紹了C++利用數(shù)組(一維/二維)處理批量數(shù)據(jù)的方法,需要的朋友可以參考下

怎樣定義和引用一維數(shù)據(jù)

  • 一維數(shù)組是數(shù)組中最簡(jiǎn)單的,它的元素只需要用數(shù)組名加一個(gè)下標(biāo),就能唯一的地確定。
  • 數(shù)組是一組有序數(shù)據(jù)的集合
  • 數(shù)組中的每一個(gè)元素都屬于同一個(gè)數(shù)據(jù)類(lèi)型
  • C語(yǔ)言規(guī)定用方括號(hào)中的數(shù)字表示下標(biāo),如S[15]表示第15個(gè)元素

怎樣定義一維數(shù)組

要使用數(shù)組,必須在程序中先定義數(shù)組,即通知計(jì)算機(jī):由哪些數(shù)據(jù)組成數(shù)組,數(shù)組中有多少元素,屬于哪個(gè)數(shù)據(jù)類(lèi)型。否則計(jì)算機(jī)不會(huì)自動(dòng)的把一批數(shù)據(jù)作為數(shù)組處理。例如,下面是對(duì)數(shù)組的定義:

int a[10] ;

它表示定義了一個(gè)整型數(shù)組, 數(shù)組名是a,此數(shù)組包含了 10個(gè)元素。

數(shù)組的一般形式為:

類(lèi)型說(shuō)明符 數(shù)組名[常量表達(dá)式]

說(shuō)明:

  • 數(shù)組名的命名規(guī)則和變量名相同,遵循標(biāo)識(shí)符命名規(guī)則。
  • 在定義數(shù)組時(shí)莫須有指定數(shù)組中元素的個(gè)數(shù),方括號(hào)中的常量表達(dá)式用來(lái)表示元素的個(gè)數(shù),即數(shù)組的長(zhǎng)度。
  • 常量表達(dá)式中可以包括常量和符號(hào)常量,如 int a[3 + 5]是合法的的。
  • 用 “int a[10];”定義了數(shù)組后a后,在內(nèi)存中劃出了一片存儲(chǔ)空間(下圖所示),存放了一個(gè)有10個(gè)整型元素的數(shù)組,可以看到,用一個(gè) “int a[10];”就相當(dāng)于定義了10個(gè)簡(jiǎn)單的整型變量,顯然簡(jiǎn)單方便。

在這里插入圖片描述

怎樣引用一維數(shù)組

在定義數(shù)組并對(duì)其各個(gè)元素賦值后,就可以引用數(shù)組中的元素。應(yīng)注意:只能引用數(shù)組元素而不能一次整體調(diào)用整個(gè)數(shù)組全部元素的值。

引用數(shù)組元素的表示形式為:

數(shù)組名[下標(biāo)]

例題: 對(duì)10個(gè)數(shù)組元素一次賦值為0,1,2,3 … 8,9,要求逆序輸出。

int main()
{
	int i = 0;
	int arr[10] = { 0 };
	for (i = 0; i < 10; i++)
	{
		arr[i] = i;//賦值
	}
	for (i = 9; i >= 0; i--)
	{
		printf("%d ", arr[i]);//打印
	}
	printf("\n");
	return 0;
}

運(yùn)行結(jié)果:

在這里插入圖片描述

一維數(shù)組的初始化

在定義數(shù)組時(shí)對(duì)全部數(shù)組元素賦予初值。例如:

int a[10] = {0,1,2,3,4,5,6,7,8,9);

也可只給數(shù)組中的一部分元素賦值。例如:

int a[10] = {0,1,2,3,4};
//定義a數(shù)組有10個(gè)元素,但花括號(hào)內(nèi)只提供5個(gè)元素的初始值,
//系統(tǒng)自動(dòng)給后面5個(gè)元素的初始值賦值為0

如果想一個(gè)數(shù)組中全部元素為0,可以寫(xiě)成:

int a[10] = {0};

在對(duì)全部數(shù)組元素賦初始值時(shí),由于數(shù)據(jù)的個(gè)數(shù)已經(jīng)確定,因此可以不指定數(shù)組長(zhǎng)度。例如:

int a[5] = {1,2,3,4,5};
//或者
int a[] = {1,2,3,4,5}; 

一維數(shù)組程序舉例

例題1:用數(shù)組來(lái)處理求Fibonacci(斐波那契數(shù)列)問(wèn)題。這個(gè)數(shù)列有以下特點(diǎn):第1,2兩個(gè)數(shù)為1,1。從第3個(gè)數(shù)開(kāi)始,該數(shù)是其前面兩個(gè)數(shù)之和。即該數(shù)列為1,1,2,3,5,8,13…,求其前20個(gè)數(shù)。

int main()
{
	int i = 0;
	int arr[20] = {1,1};//前倆項(xiàng)賦值為1
	for (i = 2; i < 20; i++)
	{
		arr[i] = arr[i - 1] + arr[i - 2];
	}
	for (i = 0; i < 20; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
	return 0;
}

運(yùn)行結(jié)果:

在這里插入圖片描述

例題2(冒泡排序):有10個(gè)地區(qū)的面積,要求對(duì)它們按由小到大的順序排序。

int main()
{
	int area[10] = { 0 };
	int i = 0;
	int j = 0;
	int min = 0;
	printf("請(qǐng)分別輸入10個(gè)田地的面積\n");
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &area[i]);
	}
	for (i = 0; i < 9; i++)//排升序(趟數(shù))
	{
		for (j = 0; j < 9 - i; j++)//兩兩交換
		{
			if (area[j] > area[j + 1])
			{
				min = area[j + 1];//將較小的放臨時(shí)變量中
				area[j + 1] = area[j];//將兩交換位置
				area[j] = min;//將較小值賦值給較大值
			}
		}
	}
	for (i = 0; i < 10; i++)
	{
		printf("%d ", area[i]);
	}
	printf("\n");
	return 0;
}

運(yùn)行結(jié)果:

在這里插入圖片描述

怎樣定義和引用二維數(shù)組

前面已經(jīng)提到,有的問(wèn)題需要用二維數(shù)組來(lái)處理。例如3個(gè)小分隊(duì),每隊(duì)有6名隊(duì)友,需要把這些隊(duì)友的工資用數(shù)組保存起來(lái)以備查。這就需要用到二維數(shù)組(如下圖)。如果建立一個(gè)數(shù)組Pay,它應(yīng)當(dāng)是二維的,第一維用來(lái)表示第幾個(gè)分隊(duì),第二維用來(lái)表示第幾個(gè)隊(duì)員。

在這里插入圖片描述

二維數(shù)組通常稱(chēng)為 矩陣 。把二維數(shù)組寫(xiě)成行(row)和列(column)的排列形式,可以有助于形象化的理解二維數(shù)組的邏輯結(jié)構(gòu)。

怎樣定義二維數(shù)組

怎樣定義二維數(shù)組呢? 其基本概念與方法和一維數(shù)組相似。如:

float pay[3][6]

以上定義了一個(gè)float類(lèi)型的二維數(shù)組,第1維有3個(gè)元素,第2維有6個(gè)元素。每一維的長(zhǎng)度分別用一對(duì)方括號(hào)擴(kuò)起來(lái)。 二維數(shù)組的一般定義形式如下: 類(lèi)型說(shuō)明符 數(shù)組名[常量表達(dá)式][常量表達(dá)式]

例如: float a[3][4],b[5][10];

C語(yǔ)言對(duì)二維數(shù)組采用這樣的定義方式,使得二維數(shù)組可以被看作一種特殊的一維數(shù)組:它的元素又是一個(gè)一維數(shù)組。例如可以把a看作一個(gè)一維數(shù)組,它有3個(gè)元素:a[0],a[1],a[2],每個(gè)元素又是一個(gè)包含4元素的一維數(shù)組,如圖所示

在這里插入圖片描述

我們可以把a(bǔ)[0],a[1], a[2]看成三個(gè)一維數(shù)組的名字。上面定義的二維數(shù)組可以理解為定義了3個(gè)一維數(shù)組,即相當(dāng)于:

float a[0][4],a[1][4],a[2][4]

此處把a(bǔ)[0],a[1],a[2]看作一維數(shù)組名。C語(yǔ)言的這種處理方法在數(shù)組初始化和用指針表示時(shí)顯得很方便,這在以后的使用中各位會(huì)經(jīng)常體會(huì)到。

二維數(shù)組在內(nèi)存中存放的順序

C語(yǔ)言中,二維數(shù)組中元素排放的順序是按行存放的,即在內(nèi)存中先順序存放第一行的元素,接著存放第2行的元素。如下圖所示:

在這里插入圖片描述

怎樣引用二維數(shù)組

二維數(shù)組元素的表示形式為:

數(shù)組名[下標(biāo)][下標(biāo)]

例如:a[2][3]表示a數(shù)組中序號(hào)為2的行中序號(hào)為3的列元素。下標(biāo)應(yīng)是整型表達(dá)式,如 a[2 - 1][2 * 2 - 1]形式。 數(shù)組元素可以出現(xiàn)在表示中也可以被賦值。

二維數(shù)組的初始化

分行給二維數(shù)組賦初始值。 這種賦初始值的方式比較直觀(guān),把第一個(gè)花括號(hào)內(nèi)的數(shù)據(jù)給第1行的元素,第2個(gè)花括號(hào)內(nèi)的值給第2行的元素。例如:

int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};

可以將所有數(shù)據(jù)寫(xiě)在一個(gè)花括號(hào)內(nèi),按數(shù)組元素在內(nèi)存中的排列順序?qū)Ω髟刭x初始值。例如:

int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12,};

可以對(duì)部分元素賦初始值,例如:

int a[3][4] = {{1},{5},{9}};

二維數(shù)組程序舉例

例題:有一個(gè)3 * 4的矩陣,要求編寫(xiě)程序求出求字最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。

int main()
{
	int arr[3][4] = { {1,2,3,4},{5,55,7,8},{9,55,11,12} };
	int i = 0;
	int j = 0;
	int max = 0;//最大值
	int col = 0;//列坐標(biāo)
	int row = 0;//行坐標(biāo)
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			if (max  < arr[i][j])//將數(shù)組中的每一個(gè)元素和它進(jìn)行比較找出最大的
			{
				max = arr[i][j];
				row = i;
				col = j;
			}
		}
	}
	printf("row = %d col = %d max = %d \n", row,col,max);
	return 0;
}

運(yùn)行結(jié)果:

在這里插入圖片描述

以上就是C++利用數(shù)組(一維/二維)處理批量數(shù)據(jù)的方法的詳細(xì)內(nèi)容,更多關(guān)于C++利用數(shù)組處理數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用C語(yǔ)言訪(fǎng)問(wèn)51單片機(jī)中存儲(chǔ)器的核心代碼

    使用C語(yǔ)言訪(fǎng)問(wèn)51單片機(jī)中存儲(chǔ)器的核心代碼

    這篇文章主要介紹了使用C語(yǔ)言訪(fǎng)問(wèn)51單片機(jī)中存儲(chǔ)器的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • C++簡(jiǎn)明圖解分析靜態(tài)成員與單例設(shè)計(jì)模式

    C++簡(jiǎn)明圖解分析靜態(tài)成員與單例設(shè)計(jì)模式

    與靜態(tài)數(shù)據(jù)成員不同,靜態(tài)成員函數(shù)的作用不是為了對(duì)象之間的溝通,而是為了能處理靜態(tài)數(shù)據(jù)成員,靜態(tài)成員函數(shù)沒(méi)有this指針。既然它沒(méi)有指向某一對(duì)象,也就無(wú)法對(duì)一個(gè)對(duì)象中的非靜態(tài)成員進(jìn)行默認(rèn)訪(fǎng)問(wèn)
    2022-06-06
  • C語(yǔ)言二維數(shù)組指針的概念及使用

    C語(yǔ)言二維數(shù)組指針的概念及使用

    C語(yǔ)言中的二維數(shù)組是按行排列的,也就是先存放a[0]行,再存放a[1]行,最后存放a[2]行;每行中的4個(gè)元素也是依次存放。數(shù)組a為int類(lèi)型,每個(gè)元素占用4個(gè)字節(jié),整個(gè)數(shù)組共占用48個(gè)字節(jié)
    2023-02-02
  • C語(yǔ)言字符函數(shù)中的isalnum()和iscntrl()你都知道嗎

    C語(yǔ)言字符函數(shù)中的isalnum()和iscntrl()你都知道嗎

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言字符函數(shù)中的isalnum()和iscntrl(),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C++中malloc與free、new與delete的詳解與應(yīng)用

    C++中malloc與free、new與delete的詳解與應(yīng)用

    今天小編就為大家分享一篇關(guān)于C++中malloc與free、new與delete的詳解與應(yīng)用,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 詳解VSCode下C++環(huán)境配置過(guò)程

    詳解VSCode下C++環(huán)境配置過(guò)程

    這篇文章主要介紹了VSCode C++環(huán)境配置過(guò)程,在這大家需要在代碼的目錄下的.vscode文件夾下創(chuàng)建launch.json、tasks.json,具體實(shí)現(xiàn)過(guò)程跟隨小編一起看看吧
    2021-11-11
  • C++中返回指向函數(shù)的指針示例

    C++中返回指向函數(shù)的指針示例

    int (*ff(int)) (int *,int);表示:ff(int)是一個(gè)函數(shù),帶有一個(gè)int型的形參,該函數(shù)返回int (*) (int *,int),它是一個(gè)指向函數(shù)的指針,所指向的函數(shù)返回int型并帶有兩個(gè)分別是Int*和int型的形參
    2013-09-09
  • 詳解C++作用域與生命周期

    詳解C++作用域與生命周期

    這篇文章主要介紹了C++作用域與生命周期的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C語(yǔ)言實(shí)現(xiàn)單鏈表實(shí)現(xiàn)方法

    C語(yǔ)言實(shí)現(xiàn)單鏈表實(shí)現(xiàn)方法

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)單鏈表實(shí)現(xiàn)方法的相關(guān)資料,鏈表分為單向鏈表、雙向鏈表、循環(huán)鏈表,需要的朋友可以參考下
    2017-08-08
  • OpenCV計(jì)算圖像的水平和垂直積分投影

    OpenCV計(jì)算圖像的水平和垂直積分投影

    這篇文章主要為大家詳細(xì)介紹了OpenCV計(jì)算圖像的水平和垂直積分投影,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評(píng)論

彭泽县| 南靖县| 漳州市| 长白| 锦屏县| 金沙县| 房产| 交城县| 诸暨市| 宜宾市| 丹棱县| 德保县| 永福县| 文登市| 建宁县| 南康市| 富平县| 丰顺县| 九江市| 乐安县| 郎溪县| 德清县| 新巴尔虎左旗| 桃园市| 巴马| 武宣县| 太和县| 永善县| 依兰县| 乌兰县| 甘谷县| 德兴市| 丹凤县| 岱山县| 四川省| 辛集市| 贵阳市| 汽车| 辰溪县| 庄浪县| 长岭县|