二维数组---刷题

一维数组不想更了,弄点二维数组! 

1.对角线

已知一个6*6的矩阵,把矩阵两条对角线上的元素加上10,然后输出这个新矩阵。

思路

题目简单,6*6=36,可以得知有36个元素。数组就定义成a[7][7],难点在与如何找出对角线上的元素。可以画图分析:

通过观察不难发现,元素1,可以表示为:i==j那么对角线的特征就找到了,是循环i==j的时候就a[i][j]+=10;对角线还有一个特征:i+j==7,当这两个都出现的或者只出现一个特性的都是对角线上的元素。

 stew()函数

在做一些特殊题目是可能要用到stew()函数stew函数有什么用呢?它的作用是控制输出长宽,可以用它来控制输出字符与空格,在二维数组的题目里经常用,例如:稀疏矩阵,杨辉三角.....都会用到,在字符串和字符数组中也十分常用!在这里我们不做深入探究毕竟它在打竞赛时很少出现!当然如果你想要用stew()函数就要声明该库:

#include<iomanip>

AC代码:

#include<iostream>
#include<iomanip>
using namespace std;//先声名一下,我是觉得可有可无!
int a[7][7];
int main(){for(int i=1;i<=6;i++){for(int j=1;j<=6;j++){cin>>a[i][j];}}for(int i=1;i<=6;i++){for(int j=1;j<=6;j++){if(i+j==7||i==j){a[i][j]+=10;}}}for(int i=1;i<=6;i++){for(int j=1;j<=6;j++){cout<<stew(5)<<a[i][j];cout<<endl;}}return 0;
}

 2.稀疏矩阵

大部分元素是0的矩阵称为稀疏矩阵,假设有k个非0元素,则可把稀疏矩阵用k*3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行,该下列的非元素的值。如:

0 0 0 5              简记成:1 4 5     //第1行第4列有个数是5

0 2 0 0                             2 2 2    //第2行第2列有个数是2

0 1 0 0                             3 2 1    //第3行第2列有个数是1

 思路

我们可以定义两个数组,一个a[4][6],一个b[102][4]。先读入a数组,然后我们可以定义一个变量k。当找到非0值的时候,就把k累加起来。那么k开始时是0,现在加1,表示第一行。每次累加都代表第几行。

总之,这题就是要找到非零值并且记忆位置,将原始矩阵存入a数组,再将转化后的矩阵传入b数组

AC代码:

#include<iostream>
#include<iomanip>
coust int n=3,m=5;
int a[n+1][m+1],b[101][4],k=0;
using namespace std;
int main(){for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]!=0){k++;b[k][1]=i;//i是行号b[k][2]=j;//j是列号b[k][3]=a[i]a[j];//元素}    }}for(int i=1;i<=k;i++){for(int j=1;j<=3;j++){cout<<stew(3)<<a[i][j];cout<<endl;}}return 0;
}

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

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

相关文章

[大模型]Yi-6B-Chat 接入 LangChain 搭建知识库助手

Yi-6B-Chat 接入 LangChain 搭建知识库助手 环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器&#xff0c;如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的 JupyterLab&#xff0c;并且打开其中的终端开始…

Python编写一个抽奖小程序,新手入门案例,简单易上手!

“ 本篇文章将以简明易懂的方式引导小白通过Python编写一个简单的抽奖小程序&#xff0c;无需太多的编程经验。通过本文&#xff0c;将学习如何使用Python内置的随机模块实现随机抽奖&#xff0c;以及如何利用列表等基本数据结构来管理和操作参与抽奖的人员名单。无论你是Pytho…

私有化即时通讯软件,WorkPlus提供的私有化、安全通讯解决方案

在当今信息化快速发展的时代&#xff0c;安全问题已经成为各行各业关注的焦点。特别是在金融、政府单位和芯片等关键行业&#xff0c;信息安全的重要性不言而喻。这些行业涉及到大量的敏感数据和关键信息&#xff0c;一旦发生泄露&#xff0c;可能会对国家安全、企业利益甚至个…

Django中的静态文件、路径、访问静态文件的方法

1.什么是静态文件 不能与服务器端做动态交互的文件都是静态文件 如:图片,css,js,音频,视频,html文件(部分) 2.静态文件配置 在 settings.py 中配置一下两项内容: 1.配置静态文件的访问路径 通过哪个url地址找静态文件 STATIC_URL ‘/static/’ 说…

跟TED演讲学英文:Why AI will spark exponential economic growth by Cathie Wood

TED英文文稿 文章目录 TED英文文稿Why AI will spark exponential economic growthIntroductionVocabularyTranscriptSummary后记 Why AI will spark exponential economic growth Link: https://www.ted.com/talks/cathie_wood_why_ai_will_spark_exponential_economic_growth…

[Java、Android面试]_18_详解Handler机制 常见handler面试题(非常重要,非常高频!!)

本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&#xff0c;后续会陆续分享出来&#xff0c;感兴趣的朋友可关注收…

vue 原理【详解】MVVM、响应式、模板编译、虚拟节点 vDom、diff 算法

vue 的设计模式 —— MVVM M —— Model 模型&#xff0c;即数据V —— View 视图&#xff0c;即DOM渲染VM —— ViewModel 视图模型&#xff0c;用于实现Model和View的通信&#xff0c;即数据改变驱动视图渲染&#xff0c;监听视图事件修改数据 初次渲染 将模板编译为 render …

Rust那些事之ToOwned trait

Rust那些事之ToOwned trait 默认的Clone trait有两个问题&#xff1a; 只支持固定大小的类型转换也只能从&T到T&#xff0c;不能够从&T到U的转换。 pub trait Clone: Sized 那么如何实现呢&#xff1f;于是便有了ToOwned trait。 ToOwned内部有一个关联类型Owned&#…

redis-缓存穿透与雪崩

一&#xff0c;缓存穿透&#xff08;查不到&#xff09; 在默认情况下&#xff0c;用户请求数据时&#xff0c;会先在缓存(Redis)中查找&#xff0c;若没找到即缓存未命中&#xff0c;再在数据库中进行查找&#xff0c;数量少可能问题不大&#xff0c;可是一旦大量的请求数据&a…

洛谷-P1596 [USACO10OCT] Lake Counting S

P1596 [USACO10OCT] Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; const int N110; int m,n; char g[N][N]; bool st[N][N]; //走/没走 int dx[] {-1,-1,-1,0,0,1,1,1}; //八联通 int dy[] {-1,0,1,1,-1,1…

Linux中安装seata

Linux中安装seata 一、准备1、环境2、下载3、上传到服务器4、解压 二、配置1、备份配置文件2、导入sql3、修改配置前4、修改配置后5、在nacos中配置 三、使用1、启动2、关闭 一、准备 1、环境 因为要在 nacos 中配置&#xff0c;要求安装并启动 nacos 。可以参考这篇博客。 …

微服务学习3

目录 1.微服务保护 1.1.服务保护方案 1.1.1.请求限流 1.1.2.线程隔离 1.1.3.服务熔断 1.2.Sentinel 1.2.1.微服务整合 1.2.2.请求限流 1.3.线程隔离 1.3.1.OpenFeign整合Sentinel 1.3.2.配置线程隔离 1.4.服务熔断 1.4.1.编写降级逻辑 1.4.2服务熔断 2.分布式事…