成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

方陣中的鞍點判斷(數(shù)組) C語言

kk_miles / 1701人閱讀

摘要:描述輸入一個正整數(shù)和階方陣中的元素,如果找到中的鞍點鞍點的元素值在該行上最大,在該列上最小,就輸出它的下標否則,輸出沒有鞍點,設(shè)中最多有一個鞍點。

描述:

? 輸入一個正整數(shù)m(1<= m <= 6)和m階方陣A中的元素,如果找到A中的鞍點(鞍點的元素值在該行上最大,在該列上最?。?,就輸出它的下標;否則,輸出"NO"(沒有鞍點),設(shè)A中最多有一個鞍點。

輸入

3

1 2 3

0 1 2

0 0 1

輸出

2 2

樣例輸入

4

1 2 3 4

0 1 1 3

0 0 1 2

1 0 0 1

樣例輸出

NO

思路及分析:

? ? ? ? 用二維數(shù)組來做這道題會減小我們的難度。同時,先求出每一行的最大值,再在這一個元素的這一列來判斷它是不是最小的,對它們進行判斷。最后打印出這個元素的下標就可以了。同時還要注意,在樣例中輸入4和矩陣里的元素時發(fā)現(xiàn),有重復(fù)的值(1)的時候,就算他是最小的,但因為重復(fù),不符合鞍點的定義,所以,還需要判斷是否有重復(fù)的值。另外,題目說明,鞍點最多只有一個。

#includeint main(void){	int i = 0,  j = 0;	int arr[6][6] = { 0 };	int max = 0;//定義最大值 	int _bool = 0;//標簽作用,用來判斷是否有重復(fù)值	//最后當(dāng)_bool=0,說明沒有,_bool=1,說明有 	int row = 0, col = 0;//行,列 	int m = 0; 	scanf("%d", &m);		for(i = 0; i < m; i++)	{		for(j = 0; j < m; j++)		{			scanf("%d", &arr[i][j]);		}	}		//由于不知道最大值,開始假設(shè)第一行第一列元素是最大的 	max = arr[0][0];		 	for(i = 0; i < m; i++)//一行 	{		//假設(shè)每一行的第一個元素為最大值 		max = arr[i][j];		//尋找每一行的最大值 		for(j = 0; j < m; j++)		{						if(arr[i][j] > max)			{				//如果是MAX,就記錄它的下標				//不可以直接用i或j,它們是隨條件在變				//用另一個量來記錄下標 				row = j;				_bool = 1; 				//記錄最大值,在后面的判斷用 				max = arr[i][j];			}		}				//用來判斷這一行的最大值是否有重復(fù)的		//如果有,_bool=0,不存在鞍點 		for(j = 0; j < m; j++)		{			//循環(huán)時不需要判斷它本身 			if(arr[i][j] == max && j != row)			{				_bool = 0;			}		}				//列的判斷,行滿足后,找列的最小值。 		for(j = 0; j < m; j++)		{				if(arr[i][row] < arr[j][row])			{				col = i;			}		}			}		if(_bool == 0)	{		printf("NO/n");	}	else	{		printf("%d %d", row, col);	}		return 0;}

????????

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/124774.html

Failed to recv the data from server completely (SIZE:0/8, REASON:closed)