二维数组---刷题

news2024/11/23 15:23:13

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

1.新矩阵

思路

题目简单,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.稀疏矩阵

 思路

我们可以定义两个数组,一个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.coloradmin.cn/o/1591960.html

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

相关文章

Django开发一个学生选课系统

在这个选课系统中&#xff0c;分为管理员和学生两种角色。 学生登录系统以后&#xff0c;只能看到选课信息。管理员登录以后&#xff0c;可以看到选课信息和其他的管理系统。 选课界面如下&#xff1a; 学生管理界面如下&#xff1a; 数据分析界面如下&#xff1a; 数据…

记一次centos合并excel,word,png,pdf为一个整体pdf的入坑爬坑过程(一直显示宋体问题)。

一、背景 原先已经简单实现了excel,word,png,pdf合成一个整体pdf的过程。并将它弄到docker容器中。 1、原先入坑的技术栈 php:7.4 (业务有涉及)php第三方包 setasign\Fpdi\Fpdi : 2.3.6 &#xff08;pdf合并&#xff09;libreoffice : 5.3.6.1ImageMagick: 6.9.10-68 2、…

计算机组成原理【CO】Ch2 数据的表示和应用

文章目录 大纲2.1 数制与编码2.2 运算方法和运算电路2.3 浮点数的表示和运算 【※】带标志加法器OFSFZFCF计算机怎么区分有符号数无符号数? 【※】存储排列和数据类型转换数据类型大小数据类型转换 进位计数制进制转换2的次幂 各种码的基本特性无符号整数的表示和运算带符号整…

@AutoConfigurationPackage 和 @ComponentScan 有何区别?

首先&#xff0c;从名字上看&#xff0c;这两个注解意义特别接近&#xff0c;AutoConfigurationPackage 就是自动配置包&#xff0c;自动配置包的目的是能让系统扫描到包内的 Bean&#xff1b;ComponentScan 则是组件扫描&#xff0c;这个松哥在之前的教程中也多次提到过了&…

MYSQL原理学习篇简记(二)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小周同志&#xff0c;25届双非校招生Java选手&#xff0c;很高兴认识大家 &#x1f4d5;学习出处&#xff1a;本文是学自小林coding (xiaolincoding.com) 网站的MYSQL图解篇 &#x1f525;如果感觉博主的文章还不错的…

初识SpringMVC(SpringMVC学习笔记一)

1 、还是熟悉的配方&#xff0c;先创建一个父Maven项目&#xff08;忘记怎么创建项目了就去前面翻笔记&#xff09;&#xff0c;导入通用的配置依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

MyBatis核心配置文件介绍使用

文章目录 一、environments二、properties三、typeAliases四、mappers五、创建核心配置文件模板&映射文件模板核心配置文件模板映射文件模板 六、总结 一、environments 核心配置文件中的标签必须按照固定的顺序&#xff1a; properties?,settings?,typeAliases?,typeH…

前端学习<四>JavaScript基础——20-函数简介

函数的介绍 函数&#xff1a;就是一些功能或语句的封装。在需要的时候&#xff0c;通过调用的形式&#xff0c;执行这些语句。 补充&#xff1a; 函数也是一个对象 使用typeof检查一个函数对象时&#xff0c;会返回 function 函数的作用&#xff1a; 一次定义&#xff0c;…

物流自动分拣系统激光雷达漫反射板

早在二十世纪六十年代&#xff0c;激光器的诞生为激光雷达技术的发展奠定了基础。随后&#xff0c;激光雷达技术开始应用于各种领域&#xff0c;包括军事、航空、地理勘测等。然而&#xff0c;在物流自动分拣领域&#xff0c;激光雷达的应用相对较晚。 随着物流行业的快速发展和…

新建Maven工程出现Process Terminated

1、settings.xml文件配置错误&#xff08;方法一&#xff09; 找到我们maven安装路径&#xff0c;在conf文件夹下找到settings.xml文件使用记事本打开 (1) 找到<localRepository></localRepository>标签&#xff0c;查看repository路径是否正确 &#xff08;2&…

AI虽强,搜索引擎仍不可或缺

AI 领域正以前所未有的速度发展&#xff0c;大模型的发布变得愈发频繁&#xff0c;模型的规模也在持续扩大。如今&#xff0c;大模型的起点已经攀升至数十亿参数&#xff08;数十 B&#xff0c;B 是 Billion 的简写&#xff0c;10 亿&#xff09;&#xff0c;其功能之广泛&…

nacos 安装保姆级教程

安装nacos nacosVersion:2.2.3 需要的java版本较高&#xff0c; 所以这里直接安装jdk17&#xff1b; 安装链接见nacos 和jdk 官网&#xff0c;具体选择下面图片中的两个版本哈 本来想直接传到csdn的&#xff0c;结果这边的资料审核还是有点繁琐&#xff0c;然后上传的速度也有点…

【日常记录】【JS】js 实现元素平滑上升

文章目录 1、效果图2、基本骨架3、实现4、完整代码 1、效果图 2、基本骨架 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&…

测试人员必备:常用自动化测试工具!

Appium 官网&#xff1a;http://appium.io AppUI自动化测试 Appium 是一个移动端自动化测试开源工具&#xff0c;支持iOS 和Android 平台&#xff0c;支持Python、Java 等语言&#xff0c;即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台&#xff0c;Appium 是一…

2.1 LeetCode总结(基本算法)_DFS

1.4 练习 104. 二叉树的最大深度 int maxDepth(struct TreeNode *root, int len) {if (root NULL) {return len;}return fmax(maxDepth(root->left, len1), maxDepth(root->right, len1)); }二叉树最大深度就是基本的递归思路的求解&#xff0c; 手法主要是递归下去之…

React Hooks 全解: 常用 Hooks 及使用场景详解

React Hooks 是 React 16.8 版本引入的一项重要特性,它极大地简化和优化了函数组件的开发过程。 React 中常用的 10 个 Hooks,包括 useState、useEffect、useContext、useReducer、useCallback、useMemo、useRef、useLayoutEffect、useImperativeHandle 和 useDebugValue。这些…

「JS 基础」迭代器和生成器 Iterator Generator 入门

前言 JavaScript的生成器(Generators)和迭代器(Iterators)是ES6引入的功能,使得开发者可以更方便地实现自定义的迭代逻辑。 迭代器 迭代器是一种接口,它为各种不同的数据结构(如数组或者映射)定义了一个标准的遍历方法。具体来说,一个迭代器对象必须实现一个 next…

背包问题详解

前言 本文主要讲解01背包问题&#xff0c;读者如果能完全搞懂01背包&#xff0c;那么稍作思考也能解决完全背包、多重背包问题。至于分组背包、有依赖的背包等问题博主也没有继续深入&#xff0c;但是应该都是在01背包的基础上拓展&#xff0c;读者若有兴趣可查阅其他文章。 …

电源监视继电器HRTH-J-2H2D AC220V 导轨安装 JOSEF约瑟

系列型号&#xff1a; HRTH-Y-2H2D-X-T跳位监视、合位监视、电源监控继电器&#xff1b; HRTH-Y-2Z-X-T跳位监视、合位监视、电源监控继电器&#xff1b; HRTH-Y-2H-X-T跳位监视、合位监视、电源监控继电器&#xff1b; HRTH-J-2H2D-X-T跳位监视、合位监视、电源监控继电器…

Django之rest_framework(一)

一、请求和响应对象介绍 REST framework引入了2个新的对象:Request和Response 1.1、Request rest_framework.request.Request 该对象扩展了常规的HttpRequest ,增加了对REST框架灵活的请求解析和请求认证的支持 官网:Requests - Django REST framework 主要属性: data 这…