C++二维数组(2)

图形相似度

题目描述: 给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。 说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。 两幅图像的相似度定义为相同像素点数占总像素点数的百分比。 输入 第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。 1 <= m <= 100, 1 <= n <= 100。 之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。相邻两个数之 间用单个空格隔开。 之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色。相邻两个数之 间用单个空格隔开。 输出 一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。

输入复制

2 2

1 1

0 0

1 0

0 0

输出复制

75.00

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{int a[110][110];int b[110][110];int n,m;cin>>n>>m;for(int i=0;i<n;i++)//行号 {for(int j=0;j<m;j++)//列号 {cin>>a[i][j];}}//第一幅图 for(int i=0;i<n;i++)//行号 {for(int j=0;j<m;j++)//列号 {cin>>b[i][j];}}//第二幅图 int cnt=0;for(int i=0;i<n;i++)//行号 {for(int j=0;j<m;j++)//列号 {if(a[i][j]==b[i][j]){cnt++;}}}cout<<fixed<<setprecision(2)<<1.0*(100*cnt)/(n*m);return 0;
}

矩阵边缘之和 题目描述: 输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是 第一行和最后一行的元素以及第一列和最后一列的元素。 输入 第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格 分开。 接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。 输出 输出对应矩阵的边缘元素和

输入复制

3 3

1 2 3

4 5 6

7 8 9

输出复制

40

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{int a[110][110]={0};int n,m;cin>>n>>m;int k=1;for(int i=0;i<n;i++){for(int j=0;j<n;j++){a[i][j]=k;k++;}}for(int i=n-1;i>=0;i--){for(int j=0;j<m;j++){cout<<setw(3)/*不管这个数多大,都按照3位后对齐*/<<a[i][j];}cout<<endl;}return 0;
}

最好的草

描述 奶牛Bessie计划好好享受柔软的春季新草。新草分布在R行C列的牧场里。 它想计算一下牧场中的草丛数量。 在牧场地图中,每个草丛要么是单个“#”,要么是有公共边的相邻两个“#”。 给定牧场地图,计算有多少个草丛。 例如,考虑如下5行6列的牧场地图

. # . . .

. . . # .

. . . . #

. . # . .

. # # . .

# . . . .

这个牧场有5个草丛:一个在第一行,一个在第二列横跨了二、三行, 一个在第三行,一个在第四行横跨了四、五列,最后一个在第五行。 输入 第一行包含两个整数R和C,中间用单个空格隔开。 接下来R行,每行C个字符,描述牧场地图。字符只有“#”或“.”两种。(1 <= R, C <= 100 ) 输出 输出一个整数,表示草丛数。 

输入复制

3 3

# # .

.  . #

# # .

输出复制

3

#include<iostream>
using namespace std;
int main()
{char a[110][110];//char是因为这次输入的是字符 int n,m;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}int cnt=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(a[i][j]=='#'){cnt++;a[i-1][j]='.';//把这个#上面的#变成.使他不会重复计算 a[i+1][j]='.';//把这个#下面的#变成.使他不会重复计算 a[i][j-1]='.';//把这个#左边的#变成.使他不会重复计算 a[i][j+1]='.';//把这个#右边的#变成.使他不会重复计算 }//把和它一丛的草都计算成一丛 }}cout<<cnt; return 0;
}

图像模糊处理

题目描述: 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:

1. 四周最外侧的像素点灰度值不变;

2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。

输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之 间。 输出 n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。(注意:因为每一个数在模糊化的时候,都要提取周围数的值,所以我们需要两个二维数组,其中一个专门用来保存更改后的数据)

输入复制

4 5

100  0  100  0  50

50  100  200  0  0

50  50  100  100  200

100  100  50  50  100

输出复制

100 0 100 0 50

50 80 100 60 0

50 80 100 90 200

100 100 50 50 100

#include<iostream>
using namespace std;
int main()
{int a[110][110];int b[110][110];int n,m;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];b[i][j]=a[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(i!=0&&i!=n-1&&j!=0&&j!=m-1){int sum=0;sum=sum+a[i-1][j];sum=sum+a[i+1][j];sum=sum+a[i][j-1];sum=sum+a[i][j+1];sum=sum+a[i][j];b[i][j]=sum/5;}}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<b[i][j]<<" ";}cout<<endl;}return 0;
}

扫雷

题目描述: 扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里 是否是地雷。 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。 注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。 输入 第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。 接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相 应格子中无地雷。字符之间无任何分隔符。 输出 n行,每行m个字符,描述整个雷区。若相应格中是地雷,则用‘*’ 表示,否则用相应的周围格地雷数表示。字符之间无任何分隔符。

输入复制

*  ??

???

?*  ?

输出复制

*10

221

1*1

#include<iostream>
using namespace std;
int main()
{char a[110][110];int n,m;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(a[i][j]!='*'){int cnt=0;if(a[i-1][j]=='*')//判断上面是不是雷 {cnt++;}if(a[i+1][j]=='*')//判断下面是不是雷 {cnt++;}if(a[i][j-1]=='*')//判断左面是不是雷 {cnt++;}if(a[i][j+1]=='*')//判断右面是不是雷 {cnt++;}if(a[i-1][j-1]=='*')//判断左上面是不是雷 {cnt++;}if(a[i+1][j+1]=='*')//判断右下面是不是雷 {cnt++;}if(a[i-1][j+1]=='*')//判断右上面是不是雷 {cnt++;}if(a[i+1][j-1]=='*')//判断左下面是不是雷 {cnt++;}a[i][j]=cnt+48;}}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<a[i][j]<<" ";}cout<<endl;}return 0;
}

输出杨辉三角的前 N 行

题目描述: 输出杨辉三角的前 N 行(N<10) 。 输入 输入只有一行,包括 1个整数 N 。(N<10) 输出 输出只有 N 行 . 

杨辉三角:

输入复制

5

输出复制

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{int a[110][110]={0};int n;cin>>n;for(int i=5;i<n+5;i++){for(int j=5;j<n+5;j++){if(j==5||j==i){a[i][j]=1;}}}	for(int i=7;i<n+5;i++){for(int j=5;j<n+4;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}for(int i=5;i<n+5;i++){for(int j=5;j<n+5;j++){if(j<=i){cout<<a[i][j]<<" ";}}cout<<endl;}return 0;
}

孤独的偶数

题目描述: 在一个 n 行 m 列的矩阵王国中,生活着一些整数,其中一些是偶数,一些不是偶数。如果一个偶数的 上下左右、左上、右上、左下、右下相邻的数中都没有素数,我们就认为这是一个孤独的偶数。 输入 第 1 行有 2 个整数 n 和 m ,代表矩阵的大(3≤n,m≤50)。 接下来 n 行,每行有 m 个整数(这些整数是 1∼1000 之间的整数,含 1 和 1000 ) 输出 输出 1 个整数,代表矩阵中孤独偶数的个数。

输入样例

3 5

3 9 10 9 5

1 10 3 4 13

8 3 9 6 3

输出样例

1

#include<iostream>
using namespace std;
int main()
{int a[110][110]={0};int n,m;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}int cnt=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(a[i-1][j]%2==1&&a[i+1][j]%2==1&&a[i][j-1]%2==1&&a[i][j+1]%2==1&&a[i-1][j-1]%2==1&&a[i-1][j+1]%2==1&&a[i+1][j-1]%2==1&&a[i+1][j+1]%2==1&&a[i][j]%2==0){cnt++;}}}cout<<cnt;return 0;
}

是否相邻

题目描述: 同学们在操场上排成了一个 n 行 m 列的队形,假设这个队形中所有人年龄都不同,那么给定 2 个年龄后, 请你编程判断,这 2 个年龄对应的同学是否相邻? 相邻的定义是:如果两个同学在上下左右的位置是挨在一起的,那么就算是相邻的。 比如:如下是一个 3 行 4 列的队形

8 2 3 4

5 6 7 1

9 10 11 12

这个队形中每个数字代表了每个同学的年龄。 那么这个队形中 年龄 6 和年龄 10 两个值就是相邻的 输入 第 1 行有 2 个整数 n 和 m ,分别代表队形的行和列的值( 2≤n,m≤200) 接下来 n 行,每行有 m 个整数,代表每个同学的年龄(每个同学的年龄的值在 1∼100 之间) 最后一行输入 2 个整数,代表 2 个不同年龄的值。 输出 如果两个年龄的值是相邻的,请输出字符 `Y` ,否则请输出字符 `N`

输入复制

3 3

1 2 3

4 5 6

7 8 9

2 3

输出复制

Y

#include<iostream>
using namespace std;
int main()
{int a[110][110]={0};int n,m;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}int v,w;cin>>v>>w;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if((a[i-1][j]==w||a[i+1][j]==w||a[i][j-1]==w||a[i][j+1]==w)&&a[i][j]==v){cout<<"Y";return 0;}else if((a[i-1][j]==v||a[i+1][j]==v||a[i][j-1]==v||a[i][j+1]==v)&&a[i][j]==w){cout<<"Y";return 0;}}}cout<<"N";return 0;
}

矩阵加法

题目描述: 输入两个n行m列的矩阵A和B,输出它们的和A+B。 输入 第一行包含两个整数n和m,表示矩阵的行数和列数。1 <= n <= 100,1 <= m <= 100。 接下来n行,每行m个整数,表示矩阵A的元素。 接下来n行,每行m个整数,表示矩阵B的元素。 相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。 输出 n行,每行m个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。

输入复制

3 3

1 2 3

4 5 6

7 8 9

9 8 7

6 5 4

3 2 1

输出复制

10 10 10

10 10 10

10 10 10

#include<iostream>
using namespace std;
int main()
{int a[110][110];int b[110][110];int n,m;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>b[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){a[i][j]=a[i][j]+b[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<a[i][j]<<" ";}cout<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/221961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

橘子学K8S01之容器中所谓的隔离

我们一直都在说容器就是一个沙盒&#xff0c;沙盒技术顾名思义就是像一个集装箱一样&#xff0c;把应用(服务&#xff0c;进程之类的)装起来的技术&#xff0c;这样每个进程在自己的沙盒中和其他的沙盒隔离开来&#xff0c;每个沙盒之间存在一个边界使得他们互不干扰&#xff0…

鸿鹄云商:Java商城引领商业模式的潮流,免费搭建多种商城模式

java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案 使用技术&#xff1a; Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台&#xff1a; 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务&#xff08;30个通用…

用23种设计模式打造一个cocos creator的游戏框架----(十六)亨元模式

1、模式标准 模式名称&#xff1a;亨元模式 模式分类&#xff1a;结构型 模式意图&#xff1a;运用共享技术有效地支持大量细粒度的对象 结构图&#xff1a; 适用于&#xff1a; 1、一个应用程序使用了大量的对象. 2、完全由于使用大量的对象&#xff0c;造成很大的存储开…

铭飞CMS list 接口 SQL注入漏洞复现

0x01 产品简介 铭飞CMS是一款基于java开发的一套轻量级开源内容管理系统,铭飞CMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案 0x02 漏洞概述 铭飞CMS在5.2.10版本以前list 接口处存在sql注入…

什么是CAS(比较并交换-乐观锁机制-锁自旋)

什么是 CAS&#xff08;比较并交换-乐观锁机制-锁自旋&#xff09; 概念及特性 CAS&#xff08;Compare And Swap/Set&#xff09;比较并交换&#xff0c;CAS 算法的过程是这样&#xff1a;它包含 3 个参数CAS(V,E,N)。V 表示要更新的变量(内存值)&#xff0c;E 表示预期值(旧…

嵌入式开发板qt gdb调试

1&#xff09; 启动 gdbserver ssh 或者 telnet 登陆扬创平板 192.168.0.253&#xff0c; 进入命令行执行如下&#xff1a; chmod 777 /home/HelloWorld &#xff08;2&#xff09; 打 开 QTcreator->Debug->StartDebugging->Attach to Running Debug Server 进行…

Nginx-nginx-1.18.0编译时默认包含哪些模块?nginx-1.18.0有哪些模块和配置语句,各有什么作用?

目录 01-如何查看 Nginx-nginx-1.18.0编译时默认包含哪些模块&#xff1f;02-如何查看Nginx有哪些自己可以手动设置添加或不添加的模块03-各配置语句和模块功能简介03-001&#xff1a;--pid-pathPATH03-002&#xff1a;--lock-pathPATH 03-003&#xff1a;select_module 03-004…

[湖湘杯 2021 final]MultistaeAgency

题目是给了源码&#xff0c;我们先来看web的main.go package mainimport ("bytes""crypto/md5""encoding/json""fmt""io""io/ioutil""log""math/rand""net/http""os"&q…

ASP.NET Core 8 在 Windows 上各种部署模型的性能测试

ASP.NET Core 8 在 Windows 上各种部署模型的性能测试 我们知道 Asp.net Core 在 windows 服务器上部署的方案有 4 种之多。这些部署方案对性能的影响一直以来都是靠经验。比如如果是部署在 IIS 下&#xff0c;那么 In Process 会比 Out Process 快&#xff1b;如果是 Self Hos…

Linux 线程池源码剖析

1 了解线程池 1-1线程池的概述 由一个任务队列和一组处理队列的线程组成。一旦工作进程需要处理某个可能“阻塞”的操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。 1-2线程池的组件 任务 待处理的工作,通常由标识、上下文和处理…

Java_内部类枚举

内部类 内部类: 是类中的五大成分之一&#xff08;成员变量、方法、构造器、内部类、代码块)&#xff0c;如果一个类定义在另一个类的内部&#xff0c;这个类就是内部类。场景:当一个类的内部&#xff0c;包含了一个完整的事物&#xff0c;且这个事物没有必要单独设计时&#x…

年度评选揭晓:Apache SeaTunnel荣获年度优秀开源技术团队殊荣

在OSCHINA平台举办的2023年度开源技术团队评选中&#xff0c;Apache SeaTunnel社区凭借其在开源领域的出色表现&#xff0c;荣获“2023年度优秀开源技术团队”奖项。 这一殊荣不仅是对Apache SeaTunnel社区在过去一年中技术贡献的认可&#xff0c;也是对其在开源社区活动运营方…

聊聊Api接口优化的几个方法!

我负责的系统到2021年初完成了功能上的建设&#xff0c;开始进入到推广阶段。随着推广的逐步深入&#xff0c;收到了很多好评的同时也收到了很多对性能的吐槽。刚刚收到吐槽的时候&#xff0c;我们的心情是这样的&#xff1a; 当越来越多对性能的吐槽反馈到我们这里的时候&…

springboot mybatis手动事务

创建springboot项目 搭建最简单的SpringBoot项目-CSDN博客 引入mybatis和数据库依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><…

java设计模式学习之【代理模式】

文章目录 引言代理模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用图片加载示例代码地址 引言 在现实生活中&#xff0c;我们经常使用代理来处理我们不想直接参与或无法直接参与的事务&#xff0c;例如&#xff0c;使用律师来代表法庭上的案件。在软件开发…

JS实现日历表

有需要的可以用一下&#xff0c;这是一个简单的demo. HTML&#xff1a; <table><thead><tr><th colspan"2"><span class"left"></span></th><th colspan"3"><span class"time"&g…

【快速应用开发】看看RedwoodJS

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

vue3+vite4中使用svg,使用iconfont-svg图标

记录一下vue3中如何使用svg图标&#xff0c;vue2中大家常用iconfont字体图标&#xff0c;现在vue3大家都又推荐svg的方式使用图表&#xff0c;包括elementplus组件库也变成使用svg方式引用图标。 1、创建svg组件 components/IconSvg.vue <template><svg class"…

保障事务隔离级别的关键措施

目录 引言 1. 锁机制的应用 2. 多版本并发控制&#xff08;MVCC&#xff09;的实现 3. 事务日志的记录与恢复 4. 数据库引擎的实现策略 结论 引言 事务隔离级别是数据库管理系统&#xff08;DBMS&#xff09;中的一个关键概念&#xff0c;用于控制并发事务之间的可见性。…

爱名网被评为“最佳安全保障注册服务机构”

12月12日&#xff0c;由中国互联网络信息中心主办&#xff0c;中国科学院计算机网络信息中心、中国工业互联网研究院、中国互联网协会联合主办&#xff0c;人民邮电报社承办的第四届中国互联网基础资源大会&#xff08;CNIRC&#xff09;在北京举办。 在本届大会上&#xff0c…