C++从入门到放弃 - 找鞍点问题

C++从入门到放弃 - 找鞍点问题

原题:
从一个数组阵列中找出某行某列的一个数,该数在该行最大,在该列最小,该数所在位置称为鞍点。也可能不存在鞍点。

	int n[5][5] = { {12,3,5,7,9},{20,4,6,8,10},{45,5,7,3,3},{66,5,8,4,245},{65,62,64,9,-55} };
	for (int r = 0; r < 5; r++)
	{
		for (int c = 0; c < 5; c++)
		{
			cout <<setw(5)<< n[r][c];

		}
		cout << '\n' << '\n';
	}
	int Rmax = INT8_MIN;
	int Cmin = INT8_MAX;
	bool isfind = false;
	for (int r = 0; r < 5; r++)
	{
		for (int c = 0; c < 5; c++)
		{
			if (Rmax < n[r][c]) {
				Rmax = n[r][c];
			}
			if (Cmin > n[c][r]) {
				Cmin = n[c][r];
			}
		}
		cout << r << "行最大值:" << Rmax <<'\n';
		cout << r << "列最小值:" << Cmin <<'\n';
		if (Rmax == Cmin) {
			isfind = true;
			cout << "·在第"<<r<<"行列中找到了鞍点,值为:" << Rmax << '\n';
		}
		if (!isfind) {
			cout << "在该行,列中没有找到鞍点。" << '\n';
		}
		cout << '\n';
		Rmax = INT8_MIN;
		Cmin = INT8_MAX;
		isfind = false;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值