C++013-C++二维数组

208 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 36 天,点击查看活动详情

@[TOC]

C++013-C++二维数组

在这里插入图片描述

在线练习: noi.openjudge.cn/ www.luogu.com.cn/

二维数组

目标

了解矩阵、二维数组的基本概念 掌握二维数组输入输出基本框架 掌握二维数组元素访问和遍历的方法

在这里插入图片描述

二维数组存储

array[3][4]就是一个二维数组,二维数组的存储方式与一维数组类似,都是连续存储的。 在这里插入图片描述

在这里插入图片描述

二维数组定义

数据类型 数组名[数组长度][数组长度];

int a[3][4];
//定义里面都是整形变量的数组a

其中,a是二维数组的数组名,该数组有3*4=12个元素,依次表示为:. 在这里插入图片描述

二维数组初始化

在这里插入图片描述

在这里插入图片描述

二维数组输入输出

#include <iostream>
//#include<bits/stdc++.h>

using namespace std;

int main()
{
    int a[10][10];
    for(int i=1;i<=3;i++){
        for(int j=1;j<=4;j++){
            cin>>a[i][j];
        }
    }

    for(int i=1;i<=3;i++){
        for(int j=1;j<=4;j++){
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

输出为: 在这里插入图片描述

二维数组定义的时候可以在主函数之外定义,因为一般情况下二维数组较大,占的空间较多。定义在主函数之外可以分配较大的内存(超过10万个int整数),且数组里面的所有元素都会默认赋值为0。(一维数组和变量也可以定义在主函数之外)这样的定义叫做全局数组(变量)。

矩阵的对角线

在一个m行m列的矩阵中,从左上角到右下角这一斜线上的m个元素的位置,叫做主对角线。从右上角到左下角这一斜线上的m个元素的位置,叫做副对角线。

主对角线方向(主线)的元素特点:若行号–列号+m = k,那么这个元素在第k条主线上; 副对角线方向(副线)元素特点:若行号+列号-1=k,那么这个元素在第k条副线上; 在这里插入图片描述

题目描述 输出m*m方阵的主对角线上的元素

#include <iostream>
//#include<bits/stdc++.h>

using namespace std;

int a[101][101],m;
int main()
{
    cin>>m;
    for(int i=1;i<=m;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }

    for(int i=1;i<=m;i++){
        for(int j=1;j<=m;j++){
            if(i==j) cout<<a[i][j]<<" ";
        }
        //cout<<endl;
    }
    return 0;
}

输出为: 在这里插入图片描述

在线练习:

noi.openjudge.cn/

总结

本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++二维数组案例,包括相关案例练习。

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 36 天,点击查看活动详情