ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

问题 AV: 找鞍点

2021-11-18 21:33:15  阅读:158  来源: 互联网

标签:10 输出 int 矩阵 问题 AV Found 鞍点


时间限制: 1 Sec  内存限制: 128 MB
提交 状态

题目描述

在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点。在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点。在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。在物理上要广泛一些,指在一个方向是极大值,另一个方向是极小值的点。编写一个程序,找出n×m的矩阵a的鞍点,若存在必唯一,不存在则输出“Not Found”。

输入

有多行。第1行是两个整数n(n≤10)和m(m≤10),表示矩阵有n行m列。接下来n行,每行包含m个整数,表示矩阵值。

输出

 仅一行。如果鞍点存在,则按指定格式输出鞍点;否则,输出“Not Found”。

样例输入 Copy

3 4
1 2 13 4
7 8 10 6
3 5 9 7

样例输出 Copy

a[2][2]=9

 

#include<stdio.h>
int main ()
{
    int m,n,a[10][10],b,h,l,i,j,k=0,c,d,max,min;
    scanf("%d %d",&m,&n);
    for(i=0;i<m;i++){
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    }
    
    for(b=0;b<m;b++){                       //从0行考虑 ,找这行的最大值  
        int e=0;                            //每次循环赋初值 
        max=a[b][0];
        h=b;                                //记录行 
        l=0;
        for(i=0;i<n;i++){
            if(max<a[b][i]){
                max=a[b][i];
            l=i;                            //记录列 
            }
        }
         
        min=a[h][l];                        //在l列该值最小 ,比较判断 
        for(j=0;j<m;j++){
            if(min>a[j][l]){
                e++;
            }
        }
        
            if(e==0){
                printf("a[%d][%d]=%d",h,l,min);
                k++;
            }
    }
    
    if(k==0)                                //鞍点的个数 
    printf("Not Found");
 
 } 

标签:10,输出,int,矩阵,问题,AV,Found,鞍点
来源: https://blog.csdn.net/qing9611/article/details/121410562

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有