c语言练习题28:杨氏矩阵

杨氏矩阵

c语言练习题28:杨氏矩阵_第1张图片

 从左到右增加

从上到下增加

思路:

c语言练习题28:杨氏矩阵_第2张图片

代码:

#include
int findNum(int(*arr)[3], int x, int y, int k) {
	int i = 0;
	int j = y - 1;
	while (i=0) {
		if (arr[i][j] > k) {
			j--;
		}
		else if (arr[i][j] < k) {
			i++;
		}
		else {
			return 1;
		}
	}
	return 0;
}
int main() {
	int arr[][3] = { {1,2,3},{4,5,6},{7,8,9} };
	int ret = findNum(arr, 3, 3, 4);
	printf("%d\n", ret);
	return 0;
}

思路2:

加入一个flag变量

c语言练习题28:杨氏矩阵_第3张图片

 

二维数组传参的本质:

c语言练习题28:杨氏矩阵_第4张图片

你可能感兴趣的:(c语言,矩阵,算法)