B1066 图像过滤 (15分)

图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。

输入格式:

输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每行给出 N 个像素点的灰度值,其间以空格分隔。所有灰度值都在 [0, 255] 区间内。

输出格式:

输出按要求过滤后的图像。即输出 M 行,每行 N 个像素灰度值,每个灰度值占 3 位(例如黑色要显示为 000),其间以一个空格分隔。行首尾不得有多余空格。

输入样例:

3 5 100 150 0
3 189 254 101 119
150 233 151 99 100
88 123 149 0 255

输出样例:

003 189 254 000 000
000 233 151 099 000
088 000 000 000 255

思考

3 5 100 150 0 /* 3*5的分辨率  [100,150]的替换为0*/
3 189 254 101 119
150 233 151 99 100
88 123 149 0 255

printf("%03d", );

动态开辟二维数组。

C++ 动态开辟二维数组的的方法 - Java EE - 博客园 https://www.cnblogs.com/jpaorm/archive/2010/09/27/2509922.html

写的很好啊。

想起来,2019届的试题,考的那些int各种int,真是看得人眼花缭乱啊。

AC代码

主要是学习了动态开辟二维数组的方法,虽然这题目肯定用不着这样的开辟数组空间。

还有就是拒绝野指针的写法。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<cstdlib>
using namespace std;
int main(void){
int m,n,a,b,con,i;
scanf("%d %d %d %d %d",&m,&n,&a,&b,&con);
//动态开辟数组
int row, col;/*row行数,col列数*/
int **gray_val = NULL;
row=m;
col=n;
gray_val = new int *[row];/*产生一个指针数组*/
for (i = 0; i < row; i++)
{
gray_val[i] = new int[col];/*每个指针都开辟一个数组*/
}
//输入数组
for (i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
scanf("%d",&gray_val[i][j]);
}
} //输出数组
//替换
for (i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
if(gray_val[i][j]>=a&&gray_val[i][j]<=b)
gray_val[i][j] = con;
printf("%03d",gray_val[i][j]);
if(j<col-1)
printf(" ");
}
printf("\n");
}
//销毁空间
for (i = 0; i < row; i++)
{
delete [] gray_val[i];
gray_val[i] = NULL;
}
delete []gray_val;
gray_val = NULL;
return 0;
}

B1066 图像过滤 (15分)的更多相关文章

  1. PAT乙级:1066 图像过滤 (15分)

    PAT乙级:1066 图像过滤 (15分) 题干 图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色 ...

  2. PAT Basic 1066 图像过滤 (15 分)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  3. 1066 图像过滤 (15分)C语言

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  4. PAT (Basic Level) Practice (中文)1066 图像过滤 (15 分)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  5. PAT 乙级 1066 图像过滤(15) C++版

    1066. 图像过滤(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 图像过滤是把图像中不重要的像素都染成 ...

  6. PAT 乙级 1066. 图像过滤(15)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  7. PAT 1066. 图像过滤(15)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  8. 【PAT】B1066 图像过滤(15 分)

    注意输出是占三位,其他的挺水 #include<stdio.h> #include<algorithm> using namespace std; int main(){ in ...

  9. PAT B1066图像过滤

    输入样例: 3 5 100 150 0 3 189 254 101 119 150 233 151 99 100 88 123 149 0 255   输出样例: 003 189 254 000 00 ...

随机推荐

  1. Java排序算法(三)

    Java排序算法(三) 三.Java排序算法总结 从这三组时间复杂度对比中,可以看出,堆排序和归并排序是不管在什么情况下发挥稳定的,快速排序好的时候表现如天才,坏情况下比较差强人意,甚至在等待排序个数 ...

  2. c/s和b/s的区别及实例说明【转】

    B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑 ...

  3. Golang自带的http包的路由规则问题

    1.调用下面的方法开启一个http监听服务http.HandleFunc("/hello/", helloHandler)err := http.ListenAndServe(&q ...

  4. 11个炫酷的 Linux 终端命令

    我已经用了十年的Linux了,通过今天这篇文章我将向大家展示一系列的命令.工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我. 1.命令行日常系快捷键 如下的快捷方式非常有用,能够 ...

  5. .Net Core+mySqlSugar的一些稍复杂操作

    介绍一些我尝试的mysqlSugar的数据库操作 修改密码 var status = db.Update<Users>(new { password = user.password }, ...

  6. html便民查询各个工具类实例代码分享(支持pc和移动端)

    1.手机号码查询 <iframe id="api_iframe_51240" name="api_iframe_51240" src="&quo ...

  7. 如何在Ubuntu server中修改IP

    详细请移步至博客https://blog.csdn.net/shenzhen_zsw/article/details/74025066 方法一. sudo  ifconfig eth0 100.100 ...

  8. VMware下Centos6.4安装

    VMware(Virtual Machine ware)是一个“虚拟PC”软件公司,提供服务器.桌面虚拟化的解决方案. 小伙伴们网上下载VMware11,一路下一步自己安装吧!!! 打开 VMware ...

  9. 关于dependencies和devDependencies的理解

    npm install 会下载dependencies和devDependencies中的模块,当使用npm install --production或者注明NODE_ENV变量值为productio ...

  10. webpack打包过程如何调试?

    本文适用于已经会使用webpack的前端开发人员,但是想进一步了解webpack细节和进阶. 首先请读者按照我前一篇文章 Webpack 10分钟入门介绍的步骤,在本地搭建一个webpack的hell ...