C编程问题.希望高手来帮帮忙.谢谢
来源:百度知道 编辑:UC知道 时间:2024/05/12 02:17:46
要求:1.写出题目的解决算法和步骤.
2.用C程序编写,写出程序代码.
3.写出上机操作运行代码后的结果.
以上的小括号统一为[] 中括号!
请根据题目要求写出答案?有能力的解答,希望得出正确答案!
1.算法描述:
首先,对矩阵做行排查,找到该行的最小值,然后搜索该最小值所在的列,它是不是最大值如果有一个比它小,就不是,跳出搜索当前列,如果搜索完该列也没有比它大的数,说明它就是马鞍点,就输出.转入到下一行搜索,一直做到最后一行.
2.程序的代码实现:
#include <iostream>
using namespace std;
int find_mad(int a[][4],int n,int m)/*n表示行数,m表示列数*/
{
int i,j,t,ri,rj;
for(i=0;i<n;i++)
{
t=a[i][0];ri=i;rj=0;
for(j=1;j<m;j++)
if(a[i][j]<t)
{
t=a[i][j];
ri=i;rj=j;
}
for(j=0;j<n;j++)
if(a[j][rj]>a[ri][rj])
break;
if(j>=n)
printf("A[%d][%d] is ma_an_dian,its value is %d .\n",ri+1,rj+1,a[ri][rj]);
}
return 0;
}
int main()
{
int a[4][4]={{1,2,1,5},{2,4,2,3},{2,2,1,5},{3,4,3,6}};
find_mad(a,4,4);
return 0;
}
有什么疑问??
可以Qme
①⑦②⑥①零②③⑥
很简单,
1, 首先扫描行,在每行中找出最小数字的位置,然后扫描列,找出每列最大的位置,然后寻找匹配
2,大概程序是这样,懒得测试了,可能会有些小错,自己改改把
void printMaxMin(int a[