B1066 图像过滤 (15分)

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

输入格式:

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

输出格式:

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

输入样例:

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

输出样例:

  1. 003 189 254 000 000
  2. 000 233 151 099 000
  3. 088 000 000 000 255

思考

  1. 3 5 100 150 0 /* 3*5的分辨率 [100,150]的替换为0*/
  2. 3 189 254 101 119
  3. 150 233 151 99 100
  4. 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代码

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

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

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cmath>
  4. #include<algorithm>
  5. #include<cstdlib>
  6. using namespace std;
  7. int main(void){
  8. int m,n,a,b,con,i;
  9. scanf("%d %d %d %d %d",&m,&n,&a,&b,&con);
  10. //动态开辟数组
  11. int row, col;/*row行数,col列数*/
  12. int **gray_val = NULL;
  13. row=m;
  14. col=n;
  15. gray_val = new int *[row];/*产生一个指针数组*/
  16. for (i = 0; i < row; i++)
  17. {
  18. gray_val[i] = new int[col];/*每个指针都开辟一个数组*/
  19. }
  20. //输入数组
  21. for (i = 0; i < row; i++)
  22. {
  23. for (int j = 0; j < col; j++)
  24. {
  25. scanf("%d",&gray_val[i][j]);
  26. }
  27. }
  28. //输出数组
  29. //替换
  30. for (i = 0; i < row; i++)
  31. {
  32. for (int j = 0; j < col; j++)
  33. {
  34. if(gray_val[i][j]>=a&&gray_val[i][j]<=b)
  35. gray_val[i][j] = con;
  36. printf("%03d",gray_val[i][j]);
  37. if(j<col-1)
  38. printf(" ");
  39. }
  40. printf("\n");
  41. }
  42. //销毁空间
  43. for (i = 0; i < row; i++)
  44. {
  45. delete [] gray_val[i];
  46. gray_val[i] = NULL;
  47. }
  48. delete []gray_val;
  49. gray_val = NULL;
  50. return 0;
  51. }

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. Ubuntu安装LAMP环境(PHP5.6) 以及下载安装phpmyadmin

    参考路径: http://blog.nciaer.com/?p=133 修改apache(2.4.18)的web路径时, 需要将 /etc/apache2/sites-available/000def ...

  2. 《C#高效编程》读书笔记08-推荐使用查询语法而不是循环

    C#语言中并不缺少控制程序流程的结构,for.while.do/while和foreach等都可以做到这一点.但我们还有更好的方式:查询语法(query syntax) 下面这段代码演示了用命令式的方 ...

  3. spring mvc <mvc;resources>

    spring mvc 的<mvc;resources mapping="***" location="***">标签是在spring3.0.4出现的 ...

  4. centos 安装 freeswitch,开启与关闭

    ---恢复内容开始--- 官网说明地址 :https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7+and+RHEL+7 1.获取源码 ...

  5. window.returnValue使用方法

    returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口知道吧,就是打开后 ...

  6. mstsc远程桌面全频或自定义窗口

    近期发现自己的mstsc突然窗口变小,总是要繁琐的拖来拖去,现终于解决了,拿来分享一二! 参数一:mstsc /f   以全屏模式显示(操作一次,后面无需在设置,具体何原因要问微软了,可能是机器的分辨 ...

  7. 网络编程——基于UDP的网络化CPU性能检测

    网络化计算机性能检测软件的开发,可对指定目标主机的CPU利用率进行远程检测,并自动对远程主机执行性能指标进行周期性检测,最终实现图形化显示检测结果. 网络通信模块:(客户端类似,因为udp是对等通信) ...

  8. vue登录权限

    登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(我会将这个token存贮到cookie中,保证刷新页面后能记住用户登录状态),前端会根 ...

  9. Dynamic typing 动态类型

    https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Dyna ...

  10. 2018.10.24 NOIP2018模拟赛 解题报告

    得分: \(100+0+100=200\)(\(T2\)悲惨爆\(0\)) \(P.S.\)由于原题是图片,所以我没有上传题目描述,只有数据. \(T1\):query(点此看题面) 熟悉主席树的人都 ...