| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 651 人关注过本帖
标题:关于鞍点丶 急丶。
只看楼主 加入收藏
wenwen1314
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2011-9-25
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:8 
关于鞍点丶 急丶。
  main()
{
    int a[3][3]={1,2,3,
                4,5,6,
                7,8,9};
    int i,j;
    int max;
    int min;
    for (i=0;i<3;i++)
    {
        max=a[i][0];
        for (j=0;j<3;j++)
        {
            if (max<A[I][J])
                max=a[i][j];
        }
    }
    for (j=0;j<3;j++)
    {
        min=a[0][j];
        for (i=0;i<3;i++)
        {
            if (min>a[i][j])
                min=a[i][j];
        }
    }
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        {
            if (a[i][j]==max&&a[i][j]==min)
                printf("%d ",a[i][j]);
        }
    }
}  
  哪里错了
搜索更多相关主题的帖子: max 
2012-02-22 09:36
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:3 
一看就是逻辑问题,如果你是求这二维数组的最大值和最小值,每当你换行比较的时候,你的max和min的值都会变化,例“max=a[i][0];”,当进入第二行比较的时候,max又被赋予第二行第一个的值。
如果只是求这二维数组的最小值和最大值的话,初始化就应该放在最前面,例“min = max = a[0][0];”,不要随时变化。
另,我真心没看懂你最后求那个值的用处,如果没有的话,前面的都浪费了


我的地盘
2012-02-22 09:46
wenwen1314
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2011-9-25
收藏
得分:0 
前面的那个大写 是
2012-02-22 09:53
wenwen1314
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2011-9-25
收藏
得分:0 
回复 楼主 wenwen1314
  那怎么弄呢?哎丶我比较笨丶你给修改下。
2012-02-22 09:54
chenliangjs
Rank: 2
等 级:论坛游民
帖 子:34
专家分:89
注 册:2012-1-14
收藏
得分:3 
#include <stdio.h>
main()
 {
     int a[3][3]={1,2,3,
                 4,5,6,
                 7,8,9};
     int i,j,m;
     int max;
     int min;
     for (i=0;i<3;i++)
     {
         max=a[i][0];
         for (j=0;j<3;j++)
         {
             if (max<a[i][j])
                 max=a[i][j];
         }
     for (j=0;j<3;j++)
     {
         min=a[0][j];
         for (i=0;i<3;i++)
         {
             if (min>a[i][j])
                 min=a[i][j];
         }
     }
     }
     for (i=0;i<3;i++)
     {
         for (j=0;j<3;j++)
         {
             if (a[i][j]==max&&a[i][j]==min)
             {
                 printf("%d \n",a[i][j]);
                 m=1;
             }
         }
     }
     if (m!=1) printf("NOT FIND!!!\n");
 }

我也是新手。。。你看看能不能帮到你。。。
2012-02-22 10:12
mayuebo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:257
专家分:1282
注 册:2005-9-8
收藏
得分:3 
直接定义指针
 int * p;
p=a;
然后就可以用P++,来遍历数组,和一维数组一样比较

成功贵在坚持
2012-02-22 10:22
飞扬hu
Rank: 2
等 级:论坛游民
帖 子:36
专家分:22
注 册:2011-6-17
收藏
得分:3 
if (max<A[I][J])、
小写吧
2012-02-22 21:51
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:3 
程序代码:
#include "stdio.h"
void main()
{
    int  intger[20][20];
    int i,j,max,row,column,m,n,c;
  
    printf("please type a Two dimensional array:\n");
    printf("please type row number:");
    scanf("%d",&m);
    printf("please type column number :");
    scanf("%d",&n);
    for(i=0;i<m;i++)
       for(j=0;j<n;j++)
         scanf("%d",&intger[i][j]);
    for(i=0;i<m;i++)                          
       {
           for(j=0;j<n;j++)
        printf("%5d",intger[i][j]);
       printf("\n");
       }
     
   
     for(i=0;i<m;i++)
        {
            max=intger[i][0];
             column=0;
            for(j=0;j<n;j++)
              {
        
                 if(intger[i][j]>max)
                   {max=intger[i][j];
                    column=j;
                   }
              }
              c=1;
              for(row=0;row<m;row++)
                if(max>intger[row][column])
                  c=0;
              if(c)
              {
                  printf("第%d行,第%d列的%d是鞍点\n",i,column,max);
                  break;
              }
        }
        if(c==0)
        printf("......there is no Saddle point in the Two dimensional array!....");
      
}
这个也是求鞍点的,参考一下

最基础的往往是你最容易忽略的!
2012-02-22 23:05
snakelazixp
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2012-2-13
收藏
得分:3 
if (a[i][j]==max&&a[i][j]==min)
楼主的这里有点那个吧,代码里面有一些错误,下面是我改过的代码,参考的看吧。。。
程序代码:
#include<stdio.h>
void main()
{
    int a[3][3]={1,2,3,
                 4,1,6,
                 7,8,9};
    int i,j;
    int max;
    int min;
    for (i=0;i<3;i++)
    {
        max=a[0][0];
        for (j=0;j<3;j++)
        {
            if (max<a[i][j])
                max=a[i][j];
        }
    }
    for (j=0;j<3;j++)
    {
        min=a[0][0];
        for (i=0;i<3;i++)
        {
            if (min>a[i][j])
                min=a[i][j];
        }
    }
    /*
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        {
            if (a[i][j]==max&&a[i][j]==min)
                printf("%d ",a[i][j]);
           

        }
   

    }
    */
    printf("max=%d\nmin=%d\n",max,min);
   

}

2012-02-22 23:16
快速回复:关于鞍点丶 急丶。
数据加载中...
 
   



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

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