首页 > 其他分享 >第12课 二维数组(1)

第12课 二维数组(1)

时间:2024-11-11 21:19:56浏览次数:3  
标签:12 int 元素 整数 二维 数组 声明

string类型不知道各位童鞋们都掌握了没,没掌握的话,嘿嘿嘿(抱拳)我稍微练过一点散打哦。

好了,开玩笑的,今天的课程难度较高,所以我决定分三课讲,就是想让大家把二维数组彻底吃透,以便于学习后面的三维,四维数组。好了,废话不多说,说多了也是废话,废话就是废话,还是不要说废话了。正片开始!

1.二维数组是什么

在C++中,二维数组是一种数据结构,用于存储相同类型的元素,这些元素被组织成行和列的形式。二维数组可以被看作是数组的数组,即数组中的每个元素本身也是一个数组。这使得二维数组非常适合表示表格数据或矩阵。

例如,声明一个包含3行4列的整数二维数组可以写成:

int myArray[3][4];

在C++中,二维数组的内存是连续分配的。这意味着数组的行是顺序存储在内存中的,每个行的元素也是连续存储的。

二维数组可以通过行和列的索引来访问其元素,例如 myArray[i][j],其中 i 是行索引,j 是列索引。索引从0开始,所以第一个元素的索引是 myArray[0][0]

二维数组的初始化也可以在声明时完成,例如:

int myArray[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12};
}

这个例子中,myArray 被初始化为一个3行4列的数组,每个元素被赋予了相应的值。

在这里说一下,在编程语言中,声明(Declaration)是指创建变量或对象的语句,它告诉编译器变量的名称、数据类型以及它将要存储的内存位置。声明变量是编程中的一个基本操作,它为程序中使用的数据分配空间。

在C++中,声明通常包括以下几个部分:

  1. 数据类型(Type):这是变量将要存储的数据的类型,比如 int 表示整数,float 表示浮点数,char 表示字符等。

  2. 变量名(Identifier):这是你给变量起的名字,用于在程序中引用该变量。变量名必须遵守C++的命名规则,比如不能以数字开头,不能包含空格,不能使用C++的保留字等。

  3. 可选的初始化(Optional Initialization):在声明变量的同时,你可以给它一个初始值。
    例如,以下是一个简单的变量声明:(其实跟定义一样)

    int number;  // 声明一个名为 'number' 的整数变量

    如果你在声明变量的同时给它一个初始值,这被称为初始化:

    int number = 10;  // 声明并初始化一个名为 'number' 的整数变量,初始值为 10

    对于数组,声明会指定数组中元素的类型和数组的大小:

    int myArray[10];  // 声明一个名为 'myArray' 的整数数组,包含10个整数

    对于二维数组,声明会指定数组中元素的类型以及行数和列数:

    int myMatrix[3][4];  // 声明一个名为 'myMatrix' 的二维整数数组,3行4列

    在这个例子中,int 是数据类型,myMatrix 是变量名,[3] 表示数组有3行,[4] 表示每行有4列。

    声明是告诉编译器你需要多少内存以及如何解释这块内存的第一步。在C++中,变量必须在使用之前声明。

    例题:
     

    题目描述

    输入两个nn行mm列的矩阵AA和BB,输出它们的和A+BA+B。

    输入格式

    第一行包含两个整数nn和mm,表示矩阵的行数和列数。1≤n≤100,1≤m≤1001≤n≤100,1≤m≤100。 接下来n行,每行m个整数,表示矩阵A的元素。 接下来n行,每行m个整数,表示矩阵B的元素。 相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。

    输出格式

    n行,每行m个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。

    样例输入/输出

    输入数据 1

    3 3
    1 2 3
    1 2 3
    1 2 3
    1 2 3
    4 5 6
    7 8 9
    
     

    输出数据 1

    2 4 6
    5 7 9
    8 10 12

代码:(新手级)

#include<bits/stdc++.h>
using namespace std;
long long x,y,a[105][105],b[105][105];
int main(){
	cin>>x>>y;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			cin>>b[i][j];
		}
	}
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			cout<<b[i][j]+a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

 这里可以看到,二维数组的输入是由双重循环构成的,分别是行和列,是几维数组,就嵌套几个循环。那么每个元素都是由行和列来定位下标。特别提醒,如果要输出二维数组,在第一个循环最后一定要加入endl换行。(粉丝要破200了,开心)

标签:12,int,元素,整数,二维,数组,声明
From: https://blog.csdn.net/2402_82814554/article/details/143695174

相关文章

  • 洛谷题单103数组题解||by红糖
    P1428小鱼比可爱题目描述人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样......
  • 题解:P11262 [COTS 2018] 题日 Zapatak
    https://www.luogu.com.cn/article/i7ajvm8e哈希好题。题意给定一个序列,每次询问给定两个长度相等的区间,问这两个区间是否只有一个数不一样。思路发现我们要求的信息只与数的出现次数有关,自然想到桶。那么如果有两个区间合法,那这两个区间的桶只有两个位置不同且桶内的值均相......
  • C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
    前言C#/.NET/.NETCore技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NETCore领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等。每......
  • 一个实用的脚本 [Bash 数组基础]
     ###Bash数组基础在Bash中,数组是一种可以存储多个值的数据结构。数组的每个元素都有一个索引,从0开始。例如,假设我们有一个数组:```bashtask_ids=("task1""task2""task3")```###获取数组的所有索引`${!task_ids[@]}`语法用于获取数组`task_ids`的所有索引。具体......
  • 「杂题乱刷2」CF1288E
    题目链接CF1288EMessengerSimulator解题思路发现向前移的部分普通维护比较困难,因此我们考虑通过某种方式来维护这个东西。考虑建立\(m\)个虚点来维护,每次询问都将实点移至虚点去。这里求答案我们需要支持单点加,区间求和,可以用树状数组轻松维护。参考代码#include<bits/s......
  • 12.享元模式设计思想
    12.享元模式设计思想目录介绍01.享元模式基础介绍1.1享元模式由来1.2享元模式定义1.3享元模式场景1.4享元模式思考1.5核心思想是什么02.享元模式原理与实现2.1罗列一个场景2.2用例子理解享元2.3内部和外部状态2.4享元模式实现03.享元模式分析3.1......
  • 使用halcon完成一维码、二维码的识别
    图片素材 通过网盘分享的文件:图片5链接:https://pan.baidu.com/s/1r9SG4lZ3ZQ5S-NGVsFx70w?pwd=BFDJ提取码:BFDJ读码一维码创建读码句柄create_bar_code_model([],[],BarCodeHandle)参数一:输入通用参数可以调整条形码模型的名称。参数二:通用参数可以调整条形码......
  • 算法:LeetCode448_找出所有数组中消失的数字_java实现
    packagecom.leetcode;importjava.util.*;/***LeetCode448FindDisappearedNumInArr:找出所有数组中消失的数字*/publicclassLeetCode448FindDisappearedNumInArr{/***方法1.hashset,找出没出现的数字*/publicstaticList<Integer>findD......
  • C语言中的数组
    数组在C语言中的应用场景非常非常多,例如:(作者用C语言写过一个三字棋小游戏详情可见链接)https://blog.csdn.net/2401_87984738/article/details/143487668?sharetype=blog&shareId=143487668&sharerefer=APP&sharesource=2401_87984738&sharefrom=link相信你们在学完今天这节数......
  • 4-3-2.C# 数据容器 - Dictionary 扩展(Dictionary 存储对象的特性、Dictionary 与数组
    Dictionary概述Dictionary<TKey,TValue>存储的是键值对(Key-Value),通过键(Key)来存储或修改值(Value)Dictionary<TKey,TValue>存储的键值对是无序的Dictionary<TKey,TValue>存储的键是不可重复的Dictionary<TKey,TValue>支持泛型,可以指定存储的键值对的类型D......