找出二维数组中的鞍点(C语言)

找出二维数组中的鞍点

找出二维数组中的鞍点,鞍点即该位置的数在该行最大,该列最小,也可能没有鞍点

#include<stdio.h>
#include<stdlib.h>
void saddle_point(int a[3][4]) {
	int min, max, p, q;
	int count = 0;
	for (int i = 0; i < 3; ++i) {
		p = 0;
		q = 0;
		max = a[i][0];
		for (int j = 1; j < 4; ++j) {
			if (max < a[i][j]) {
				max = a[i][j];
				p = j;
			}
		}
		min = a[0][p];
		for (int k = 1; k < 3; ++k) {
			if (min > a[k][p]) {
				min = a[k][p];
				q = k;
			}
		}
		if (min == max) {
			printf("鞍点为arr[%d][%d]=%d\n", q, p, min);
		}
		else {
			count++;
		}
	}
	if (count == 3) {
		printf("二唯数组arr无鞍点\n");
	}
}
void main() {
	int arr[3][4] = { {9,6,8,70}, {10,23,55,66}, {15,67,4,69} };
	printf("二维数组arr为:\n");
	for (int i = 0; i < 3; ++i) {
		for (int j = 0; j < 4; ++j) {
			printf("%d\t", arr[i][j]);
		}
		printf("\n");
	}
	saddle_point(arr);
	system("pause");
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41071068/article/details/88998868