| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 692 人关注过本帖
标题:我是菜鸟,求高手指点
只看楼主 加入收藏
卡沙巴
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
我是菜鸟,求高手指点
肿瘤检测
Description
一张CT扫描的灰度图像可以用一个N*N(0<N<100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255。我们假设给定的图像中有且只有一个肿瘤。在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长。
Input
输入第一行包含一个正整数N(0<N<100),表示图像的大小;接下来N行,每行包含图像的一行。图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。
Output
输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。
Sample Input
6
99 99 99 99 99 99
99 99 99 50 99 99
99 99 49 49 50 51
99 50 20 25 52 99
40 50 99 99 99 99
99 99 99 99 99 99
Sample Output
9 8
这是我做的程序,但是错了,还请高手赐教:
#include<stdio.h>
int main()
{
int n,i,j,s=0,d=0,a[100][100];
scanf("%d",&n);
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
{
    if(a[i][j]<=50)
        s=s+1;
    if((a[i][j]<=50)&&(i==0||j==0||i==n-1||j==n-1||a[i-1][j]>50||a[i-1][j]>50||a[i][j-1]>50||a[i][j+1]>50))
        d=d+1;
}
scanf("%d %d\n",&s,&d);
return 0;}
搜索更多相关主题的帖子: 肿瘤 矩阵 左右 
2011-04-21 23:37
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
if((a[i][j]<=50)&&(i==0||j==0||i==n-1||j==n-1||a[i-1][j]>50||a[i-1][j]>50||a[i][j-1]>50||a[i][j+1]>50))
2011-04-21 23:42
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:10 
程序代码:
#include<stdio.h>
int main()
{
    int n,i,j,s=0,d=0,a[100][100];
    scanf("%d",&n);
    for(i=0;i<=n-1;i++)
        for(j=0;j<=n-1;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<=n-1;i++)
    {
        for(j=0;j<=n-1;j++)
        {
             if(a[i][j]<=50)
                 s++;
             if((a[i][j]<=50)&&(i==0||j==0||i==n-1||j==n-1||a[i-1][j]>50||a[i+1][j]>50||a[i][j-1]>50||a[i][j+1]>50))
                 //<---这里的横坐标,你写成2个i-1
                 d++;
        }
    }
printf("%d %d\n",s,d);//<---这里你打错了吧
system("pause");
return 0;
}

我的地盘
2011-04-22 08:10
快速回复:我是菜鸟,求高手指点
数据加载中...
 
   



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

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