有戏

 找回密码
 立即注册
简历下载
搜索
热搜: 活动 交友 discuz
查看: 880|回复: 0

找出二维数组的所有的鞍点

[复制链接]

89

主题

102

帖子

1万

积分

网站编辑

Rank: 8Rank: 8

积分
18232
发表于 2015-11-26 08:55:22 | 显示全部楼层 |阅读模式
本帖最后由 精精 于 2015-11-26 09:44 编辑


1.找出二维数组的所有的鞍点:该位置元素是其所在行的最大值,其所在列的最小值
{
{12  ,6,   5},
{24,  -9,  44}
}









/*
1.找出二维数组的所有的鞍点:该位置元素是其所在行的最大值,其所在列的最小值
{
{-2  ,6,   -5},
{12  ,7,   5},
{24,  9,  44}
}



*/
#include <stdio.h>
int main()
{
    int a[3][3] = {  {-2  ,6,   155},
                     {12  ,-6,   55},
                     {24,  16,  44}
                    };
    int i,k; //i,k 表示行下标
    int j;   //j表示列下标
    int max;  //行最大值
    int max_j;//行最大值的列下标
    int min;
    for(i=0;i<3;i++)
    {
        //1.找出第i行的最大值
        max = a[0];
        max_j = 0;
        for(j=1;j<3;j++)
        {
            if(a[j] > max)
            {
                max = a[j];
                max_j = j;
            }
        }
        //2.判读该最大值是否是所在列的最小值,是则输出。
        min = a[0][max_j];
        for(k=1;k<3;k++)
        {
            if(a[k][max_j] < min)
                min = a[k][max_j];
        }
        if(max == min)
            printf("a[%d][%d]=%d\n",i,max_j,max);
    }
    return 0;
}
哈哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|有戏 粤ICP备2020111303号

GMT+8, 2025-12-6 13:15 , Processed in 0.114481 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表