| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 602 人关注过本帖
标题:如何(大变1,小变0)实现?(楼下是代码)
只看楼主 加入收藏
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
结帖率:82.35%
收藏
已结贴  问题点数:40 回复次数:4 
如何(大变1,小变0)实现?(楼下是代码)
例:6 2 1
    4 5 2
    8 6 7
改为
    1 0 0
    0 0 0
    1 0 1
编写程序,将一个MXN的矩阵A存入一个二维数组,根据A生成一个新的矩阵B存入另外一个二维数组,生成的方法是:若A的某个元素是“局部最大值”,则B的相应元素设为1;否则设为0.所谓“局部最大值”是指该值比其上,下,左,右四个邻值都大

[ 本帖最后由 zhanfffmmm 于 2010-5-6 10:55 编辑 ]
搜索更多相关主题的帖子: 代码 
2010-05-06 10:52
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
  #include"stdio.h"
        main()
        {
            char b[3][3]={{6,2,1},{4,5,2},{8,6,7}};
            char a[3][3]={0};
            int i,j;

            for(i=0;i<5;i++)
              for(j=0;j<5;j++)
                {


                           if(b[i+1][j+1]>b[i+1][j]&&b[i+1][j+1]>b[i][j+1]&&b[i+1][j+1]>b[i+1][j+2]&&b[i+1][j+1]>b[i+2][j+1])
                            {
                             a[i][j]=1;
                             }
                           else
                           {
                            a[i][j]=0;
                           }
                       }


                 for(i=0;i<3;i++)
                  {
                     printf("\n");
                    for(j=0;j<3;j++)
                     {
                      printf("%d",a[i][j]);
                       }
                }

                      getch();
            }
2010-05-06 10:54
鬼鬼千年
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:140
注 册:2010-4-9
收藏
得分:40 
#include"stdio.h"
  void   main()
  {
         char b[5][5]={{0,0,0,0,0},{0,6,2,1,0},{0,4,5,2,0},{0,8,6,7,0},{0,0,0,0,0}};//加围墙
            char a[3][3]={0};
            int i,j;

            for(i=1;i<4;i++)
              for(j=1;j<4;j++)
                {


                           if(b[i][j]>b[i+1][j]&&b[i][j]>b[i][j+1]&&b[i][j]>b[i-1][j+2]&&b[i][j]>b[i][j-1])
                            {
                             a[i-1][j-1]=1;
                             }
                           else
                           {
                            a[i-1][j-1]=0;
                           }
                       }


                 for(i=0;i<3;i++)
                  {
                     printf("\n");
                    for(j=0;j<3;j++)
                     {
                      printf("%d",a[i][j]);
                       }
                }

                      //getch();
            }

活了千年的鬼鬼,突然想当个人,看看人和鬼哪个好?
2010-05-06 12:21
xueyuhanhai
Rank: 4
等 级:业余侠客
帖 子:90
专家分:238
注 册:2010-4-5
收藏
得分:0 
楼主我把2和3楼的程序在VC++6.0上运行了一下,发现2楼的好像不对。3楼的结果和思想都是正确的,可以推广到任意的数组上面。
2楼的结果:
001
010
000.
2010-05-06 14:47
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
回复 3楼 鬼鬼千年
从键盘输入怎么定义啊
2010-05-07 15:37
快速回复:如何(大变1,小变0)实现?(楼下是代码)
数据加载中...
 
   



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

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