| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 373 人关注过本帖
标题:二维数组的问题
只看楼主 加入收藏
小樂
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-4-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
二维数组的问题
题目是这样的。。
输入一个3*4的矩阵,输出其鞍点。鞍点位置上的元素是所在行最大,所在列最小,矩阵也可能没有鞍点。
我的想法是这样的
#include<stdio.h>
void main()
{
    int a[3][4],t,h,i,j,x;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    }
    for(i=0;i<3;i++)
    {
        t=a[i][0];
        for(j=0;j<4;j++)
        {
            if(a[i][j]>t)
                t=a[i][j];
        }
        h=a[0][j];
        for(x=0;x<3;x++)
        {
            if(a[x][j]<h)
                h=a[x][j];
        }
        if(i==x)
            printf("%d\n",h);
    }
}
麻烦看下有错吗?我输出时没有结果。。是哪错了?
搜索更多相关主题的帖子: include 元素 
2012-04-10 00:24
天一神话
Rank: 2
等 级:论坛游民
帖 子:23
专家分:33
注 册:2012-3-29
收藏
得分:4 
#include<stdio.h>
void main()
{
    int a[3][4],t,h,i,j,x,s;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    }
    for(i=0;i<3;i++)
    {
        t=a[i][0];
        s=0;
        for(j=0;j<4;j++)
            if(a[i][j]>t)
               {t=a[i][j];
                s=j;
               }
        flag=1;
        for(x=0;x<3;x++)
            if(a[x][s]<t)/*如果不是同列最小*/
              {flag=0;
               continue;
              }
        if(flag)
            {printf("%d\n",t);
             break;
            }
    }
if(!flag)
 printf("there is no\n");
}
大概就是这样,没仔细检查,你自己看看有没有什么不对的
2012-04-10 10:29
cuijunchao
Rank: 5Rank: 5
来 自:湖南桂东
等 级:职业侠客
威 望:3
帖 子:132
专家分:386
注 册:2012-4-4
收藏
得分:15 
??? for(i=0;i<3;i++)
??? {
????????t=a[i][0];
????????for(j=0;j<4;j++)
????????{
????????????if(a[i][j]>t)
??????????????? t=a[i][j];改为{t=a[i][j]
????????};n=j;}在前面再定义一个变量n.
????????h=a[0][j];这里有问题,J=3每次运算都是这结果,因为上一个循环结束时赋J=3。改为h=a[0][n]
????????for(x=0;x<3;x++)
????????{
????????????if(a[x][j]<h)
??????????????? h=a[x][j];
????????}
????????if(i==x)这里应该判断H==t.
????????????printf("%d\n",h);
2012-04-10 10:29
cuijunchao
Rank: 5Rank: 5
来 自:湖南桂东
等 级:职业侠客
威 望:3
帖 子:132
专家分:386
注 册:2012-4-4
收藏
得分:0 
??? for(i=0;i<3;i++)
??? {
????????t=a[i][0];
????????for(j=0;j<4;j++)
????????{
????????????if(a[i][j]>t)
??????????????? t=a[i][j];改为{t=a[i][j]
????????};n=j;}在前面再定义一个变量n.
????????h=a[0][j];这里有问题,J=3每次运算都是这结果,因为上一个循环结束时赋J=3。改为h=a[0][n]
????????for(x=0;x<3;x++)
????????{
????????????if(a[x][j]<h)
??????????????? h=a[x][j];
????????}
????????if(i==x)这里应该判断H==t.
????????????printf("%d\n",h);
2012-04-10 10:37
阴阳
Rank: 4
等 级:业余侠客
帖 子:102
专家分:297
注 册:2012-4-7
收藏
得分:1 
回复 4楼 cuijunchao
楼上的能不能把您的?去掉!

一阴一阳之谓道!
2012-04-10 12:46
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:0 
哈哈,这个楼主自己动手调试啊,不要都拿来问

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-04-10 13:41
快速回复:二维数组的问题
数据加载中...
 
   



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

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