| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1509 人关注过本帖
标题:求矩阵中的鞍点
只看楼主 加入收藏
x1148291109
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2016-10-19
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
求矩阵中的鞍点
               在一个n行m列的矩阵中找出鞍点,鞍点是矩阵中一个特殊的元素,他在所在行中最大,在所在列中最小
搜索更多相关主题的帖子: 元素 
2017-02-08 13:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
比如
02020
01010
02020
01010
02020
是这个意思吗?
2017-02-08 13:24
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 

DO IT YOURSELF !
2017-02-08 13:49
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
#include<stdio.h>
int main()
{
    short n,m;short i,idx,index;short** arr;short**indicator;short flag=0;
    printf("请输入行数、列数,空格隔开:");
    scanf("%d%d",&n,&m);
    arr=(short**)malloc(sizeof(short*)*n);
    indicator=(short**)malloc(sizeof(short*)*n);
    for(i=0;i<n;i++)
    {
        arr[i]=(short*)malloc(sizeof(short)*m);
        indicator[i]=(short*)malloc(sizeof(short)*m);
    }
    for(i=0;i<n;i++)
        for(idx=0;idx<m;idx++)
        {
            printf("请输入第%d行第%d列的元素:",i+1,idx+1);
            scanf("%d",&arr[i][idx]);
            indicator[i][idx]=0;//初始化
        }
    printf("你的矩阵:\n");
    for(i=0;i<n;i++)
    {   
        for(idx=0;idx<m;idx++)
            printf("%d\t",arr[i][idx]);
        printf("\n");
    }
    for(i=0;i<n;i++)
    {
        for(idx=0;idx<m;idx++)
        {
            for(index=0;index<m;index++)
                if(arr[i][idx]<arr[i][index]) indicator[i][idx]++;
        }
    }
    for(i=0;i<n;i++)
    {
        for(idx=0;idx<m;idx++)
        {
            for(index=0;index<n;index++)
                if(arr[i][idx]>arr[index][idx]) indicator[i][idx]++;
        }
    }
    for(i=0;i<n;i++)
    {
        for(idx=0;idx<m;idx++)
            indicator[i][idx]?printf("\t"):printf("%d\t",arr[i][idx]);
        printf("\n");
    }
    return 0;
}
2017-02-08 18:20
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:10 
#include<stdio.h>
int main()
{
    short n,m;short i,idx,index;short** arr;short**indicator;short flag=0;
    printf("请输入行数、列数,空格隔开:");
    scanf("%d%d",&n,&m);
    arr=(short**)malloc(sizeof(short*)*n);
    indicator=(short**)malloc(sizeof(short*)*n);
    for(i=0;i<n;i++)
    {
        arr[i]=(short*)malloc(sizeof(short)*m);
        indicator[i]=(short*)malloc(sizeof(short)*m);
    }
    for(i=0;i<n;i++)
        for(idx=0;idx<m;idx++)
        {
            printf("请输入第%d行第%d列的元素:",i+1,idx+1);
            scanf("%d",&arr[i][idx]);
            indicator[i][idx]=0;//初始化
        }
    printf("你的矩阵:\n");
    for(i=0;i<n;i++)
    {   
        for(idx=0;idx<m;idx++)
            printf("%d\t",arr[i][idx]);
        printf("\n");
    }
    for(i=0;i<n;i++)
    {
        for(idx=0;idx<m;idx++)
        {
            for(index=0;index<m;index++)
                if(arr[i][idx]<arr[i][index]) indicator[i][idx]++;
            for(index=0;index<n;index++)
                if(arr[i][idx]>arr[index][idx]) indicator[i][idx]++;
        }
    }
    printf("鞍点:");
    for(i=0;i<n;i++)
    {
        for(idx=0;idx<m;idx++)
            indicator[i][idx]?printf("X\t"):printf("%d\t",arr[i][idx]);
        printf("\n");
    }
    return 0;
}

先前那个多弄了一次循环,感觉到没有必要,且输出作一下变动会醒目一些。
2017-02-08 19:29
快速回复:求矩阵中的鞍点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017441 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved