【C++程序设计】——利用数组处理批量数据(一)

news2024/11/24 4:18:17

在这里插入图片描述


👨‍💻个人主页:@开发者-削好皮的Pineapple!

👨‍💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 削好皮的Pineapple! 原创

👨‍💻 收录于专栏:C++程序设计


请添加图片描述

请添加图片描述

文章目录

    • ⭐前言⭐
    • 🎶一、数组是什么?
    • 🎶二、定义和引用一维数组
    • 🎶三、定义和引用二维数组
        • 结束语🥇


⭐前言⭐

本文将探讨如何利用C++的数组功能,有效地处理批量数据。数组作为C++中的重要数据结构,不仅可以存储大量数据,还能够通过简洁而强大的语法进行快速访问和操作。


🎶一、数组是什么?


(一)数组是什么?
数组:相同数据类型的集合,多个变量共同使用一个变量名称,并用下标加以区分。(数组是有序数据的集合)
(二)为什么要有数组?

  • 如:现在需要存储全班同学的年龄,那么有n个同学,则需要定义n个变量,定义和管理都十分的麻烦。但是我们用数组只需要一行代码就可以定义完成。
//普通方式
int age1,age2,age3,age4,age5...age n;
//使用数组
int age[n];

🎶二、定义和引用一维数组


(一)定义一维数组
定义一维数组一般形式为:
类型名 数组名 [常量表达式] ;
int a[10];数组为整型,数组名为a,有10个元素。
说明:
(1)数组名定名规则和变量名相同,遵循标识符定名规则。
(2)用方括号括起来的常量表达式表示下标值,如下面写法是合法的:

int a[10];
int a[2*5];
int a[n*2]; //假设前面已定义了n为常变量

(3)常量表达式的值表示元素的个数,即数组长度。例如,在“int a[10];”中,10表示a数组有10个元素,下标从0开始,这10个元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a{[9]。注意最后一个元素是a[9]而不是a[10]。
(4)常量表达式中可以包括常量、常变量和符号常量,但不能包含变量。也就是说,不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的

int n;
cin >>n;// 输入a数组的长度
int a[n];//试图根据n的值决定数组的长度

如果把第1,2行改为下一行就合法了。

const int n=5;

(二)引用一维数组的元素
数组必须先定义,然后使用。只能逐个引用数组元素的值,而不能一次性引用整个数组中的全部元素的值。
数组元素的表示形式为:(下标可以是整型常量或整型表达式)
数组名 [下标]
🌰:
定义一个整型数组a,把0~9共10个整数赋给数组元素a[0] ~ a[9],然后按照a[9]、a[8]、…a[0]的顺序输出。

#include<iostream>
using namespace std;
int main() {
	int a[10];
	for (int i = 0; i <= 9; i++) {
		a[i] = i;
	}
	for (int i = 9; i >= 0; i--) {
		cout << a[i] << "";
		cout << endl;
	}
	return 0;
}

运行结果如图:
在这里插入图片描述
(三)一维数组的初始化
初始化有以下方法:
1.在定义数组时对全部数组元素赋予初值。

int a[10]={0,1,2,3,4,5,6,7,8,9};

2.可以只给一部分元素赋值。

int a[10]={0,1,2,3,4};

3.在对全部数组元素赋初值时,可以不指定数组长度。

int a[5]={1,2,3,4,5};//可以写成下面这种形式
int a[]={1,2,3,4,5};

(四)一维数组的运用
🌰:编写程序,用起泡法对10个数排序(由小到大)。

#include<iostream>
using namespace std;
int main() {
	int a[11];
	cout << "请输入10个数:" << endl;
	for (int i = 1; i <= 10; i++) {
		cin >> a[i];
	}
	for (int j = 1; j <= 9; j++) //9轮比较
		for (int i = 1; i <= 10; i++)
			if (a[i] > a[i + 1]) {
				int t;
				t = a[i];
				a[i] = a[i + 1];
				a[i + 1] = t;
			}
	cout << "冒泡排序后的结果" << endl;
	for (int i = 1; i < 11; i++)
		cout << a[i] << " ";
	cout << endl;
	return 0;
}

在这里插入图片描述


🎶三、定义和引用二维数组


(一)定义二维数组
定义二维数组的一般形式:
类型名 数组名[常量表达式][常量表达式]
例如:
float a[3][4],b[5][6];
(二)引用二维数组的元素
引用二维数组的一般形式:
数组名 [下标][下标]
数组元素是左值,可以出现在表达式中,也可以被赋值。
(三)二维数组的初始化
1.按行给二维数组全部元素赋值。
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2.可以将所有的数据写在一个花括号内按数组排列的顺序对全部元素赋值。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
3.可以对部分元素赋值。
int a[3][4]={{1},{5},{9}};
4.如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省
int a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
可以写成:
int a[][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
(四)二维的运用
🌰:将一个2乘3的二维数组a的行和列元素互换存到一个3乘2的二维数组B中。(写循环时要记得<=的是下标-1)

#include<iostream>
using namespace std;
int main()
{
	int a[2][3]={{1,2,3},{4,5,6}};
	int b[3][2];
	cout<<"这是a矩阵"<<endl; 
	for(int i=0;i<=1;i++)
	{
		for(int j=0;j<=2;j++){
			cout<<a[i][j]<<" ";
			b[j][i]=a[i][j];
		}
		cout<<endl;
	}
	cout<<"这是b矩阵"<<endl; 
	for(int i=0;i<=2;i++)
	{
		for(int j=0;j<=1;j++)
		cout<<b[i][j]<<" ";
		cout<<endl;
	}
	return 0;
}

运行结果如图:
在这里插入图片描述


请添加图片描述

结束语🥇

以上就是C++程序设计
持续更新C++程序设计教程,欢迎大家订阅系列专栏🔥C++程序设计你们的支持!

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

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

相关文章

使用 Python 制作一个属于自己的 AI 搜索引擎

1. 使用到技术 OpenAI KEYSerper KEYBing Search 2. 原理解析 使用Google和Bing的搜搜结果交由OpenAI处理并给出回答。 3. 代码实现 import requests from lxml import etree import os from openai import OpenAI# 从环境变量中加载 API 密钥 os.environ["OPENAI_AP…

5G三大场景:eMBB、mMTC、uRLLC

1G,2G,3G,4G,5G有什么区别&#xff1f;5G的优势在哪&#xff1f;有什么应用&#xff1f; 1G,2G,3G,4G,5G有什么区别&#xff1f;5G的优势在哪&#xff1f;有什么应用&#xff1f;_3g4g5g的区别和作用-CSDN博客 从1G到4G&#xff0c;移动通信的核心是人与人之间的通信&#xff0…

Spring Cache框架(AOP思想)+ Redis实现数据缓存

文章目录 1 简介1.1 基本介绍1.2 为什么要用 Spring Cache&#xff1f; 2 使用方法2.1 依赖导入&#xff08;Maven&#xff09;2.2 常用注解2.3 使用步骤2.4 常用注解说明1&#xff09;EnableCaching2&#xff09;CachePut3&#xff09;Cacheable4&#xff09;CacheEvict 3 注意…

【云服务器】vscode + onethingAi + SSH远程连接

通过VS code远程连接服务器&#xff0c;并进行上传和下载文件操作_vs code 上传制定文件-CSDN博客 vscode远程连接服务器&#xff08;remote ssh&#xff09;上传本地文件到服务器(sftp)_vscode上传文件到服务器-CSDN博客 vscode连接远程服务器&#xff08;傻瓜式教学&#x…

批发行业手机开单-手机开单 电子单 源码CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构

一、手机开单的好处 批发行业的业务拓展总是在路上&#xff0c;而手机开单的出现成为了业务人员的得力助手。无论身处何地&#xff0c;都能轻松操作&#xff0c;迅速完成开单流程&#xff0c;大幅提高工作效率。而且&#xff0c;通过手机还能明确开单人身份&#xff0c;自动完…

KaiwuDB 产品总监李月飞:让中国物联网用上放心的数据库产品

​2024年7月17日&#xff0c;KaiwuDB 产品总监李月飞受邀于 2024 可信数据库发展大会“能源与政务数据库应用创新”分论坛发表演讲。以下是李月飞主题演讲《深耕数据良田&#xff0c;KaiwuDB 洞见能源产业数字新生力》精华实录。 数据&#xff0c;给能源变革带来新的可能 众所…

基于SpringCloud alibaba的流媒体视频点播平台

基于SpringCloud alibaba的流媒体视频点播平台 前言整体架构具体实现视频播放 总结 先把项目地址放这 》基于SpringCloud alibaba的流媒体视频点播平台《 然后咱们来看看这个项目是干啥的。 前言 今天和大家分享一个项目&#xff0c;基于SpringCloud alibaba的流媒体视频点…

46 集合对象的创建与删除

集合&#xff08;set&#xff09;属于 Python 无序可变序列&#xff0c;使用一对大括号作为定界符&#xff0c;元素之间使用逗号分隔&#xff0c;同一个集合内的每个元素都是唯一的&#xff0c;元素之间不允许重复。 集合中只能包含数字、字符串、元组等不可变类型&#xff08;…

吴恩达老师机器学习作业-ex7

导入库&#xff0c;读取数据&#xff0c;查看数据类型等进行分析&#xff0c;可视化数据 import matplotlib.pyplot as plt import numpy as np import scipy.io as sio#读取数据 path "./ex7data2.mat" data sio.loadmat(path) # print(type(data)) # print(data…

安防监控平台智能边缘分析一体机视频智能分析客流统计检测算法详细介绍

在当今数字化时代&#xff0c;数据的重要性不言而喻。特别是在零售、交通、安防等行业中&#xff0c;准确的客流统计数据对于业务决策、资源优化和安全管理至关重要。随着技术的进步&#xff0c;智能边缘分析一体机的出现为客流统计提供了一种高效、实时的解决方案。本文将详细…

【教育宝-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

windows下设置java环境变量

1.打开window的环境变量设置 右键开始菜单选择系统 选择高级系统设置&#xff1a; 点击环境变量 2.在系统变量 新增 JAVA_HOME&#xff1b;该变量的值 选择jdk所在的目录即可。 JAVA_HOME: D:\Program Files\Java\jdk1.8.0_131 3. 在系统变量新增 classpath; 该变量的值设置…

校园水电费管理小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;教师管理&#xff0c;宿舍信息管理&#xff0c;学生缴费管理&#xff0c;教师缴费管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;我的 开发系统…

MSA+抑郁症模型总结(三)(论文复现)

MSA抑郁症模型总结&#xff08;三&#xff09;&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 MSA抑郁症模型总结&#xff08;三&#xff09;&#xff08;论文复现&#xff09;热门研究领域&#xff1a;情感计算的横向发展一、概述二、论…

了解关于标准化的知识

1.标准化组织 1.1国家标准化管理委员会(Standardization Administration of the Peoples Republic of China&#xff0c;简称SAC) TC--(Technical Committee) 技术委员会. SAC/TC,就是“国家标准化管理委员会”下属的一个专项或一个行业的“技术委员会或技术小组”&a…

MySQL--查询数据

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、基本查询语句 MySQL从数据表中查询数据的基本语句为SELECT语句。其基本格式为&#xff1a; select {* | <字段列表>}[from <表1>,&l…

食堂窗口自助点餐小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;店铺信息管理&#xff0c;菜品分类管理&#xff0c;菜品信息管理&#xff0c;订单管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#…

Oracle SQL Developer 连接第三方数据库

首先Oracle SQL Developer除了支持连接Oracle数据库外&#xff0c;还支持连接第三方数据库&#xff0c;包括&#xff1a; Amazon RedshiftHiveIBM DB2MySQLMicrosoft SQL ServerSybase Adaptive ServerPostgreSQLTeradataTimesTen 首先&#xff0c;你需要在菜单Tools > Pr…

pypinyin,一个有趣的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个有趣的 Python 库 - pypinyin。 Github地址&#xff1a;https://github.com/mozillazg/python-pinyin 在处理中文文本时&#xff0c;拼音转换是一项常见的需求。拼音在自然…

图片打印---print-js,解决图片过长过宽,溢出分页问题

提示&#xff1a;打印图片 文章目录 [TOC](文章目录) 前言一、调取window.print二、print-js通过图片url打印三、print-js把图片转成html后调整尺寸再打印总结 前言 一、调取window.print printImage.vue <template><div class"print_img_fixed"> <…