文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序习题-找出数组的鞍点[7.8]

C程序习题-找出数组的鞍点[7.8]

时间:2010-08-04  来源:chengxiaopeng

    找出一个二维数组中的鞍点,即在该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。     看到这个题目,我便想到了遍历整个数组,每拿到一个元素,就比较它所在的行和列。代码如下:

#include <stdio.h>

int validate(int [][],int,int,int,int);
int main(int argc, int *argv[])
{
    int a[3][4] = {{7,6,3,40},{8,3,20,34},{40,3,29,60}};
    int i,j,k;
    int bol = 0;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++)
        {
            if (validate(a,3,4,i,j))
            {
               bol = 1;
               printf("the andian in row %d ,col %d , value is %d \n",i,j,a[i][j]);
            }
        }
    }
    
    if (0 == bol)
    {
       printf("not andian!\n");
    }
    
    system("pause");
    return 0;
}

int validate(int data[3][4],int row, int col,int row_value,int col_value)
{
    int b,i,j;
    b = data[row_value][col_value];
    if (row_value > row || col_value > col)
    {
       return 0;
    }

    for (i = 0; i < row; i++)
    {
        if (b > data[i][col_value])
        {
           return 0;
        }
    }
    
    for (j = 0; j < col; j++)
    {
        if (b < data[row_value][j])
        {
           return 0;
        }
    }
    
    return 1;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载