二维数组初步

本文介绍了一种算法实现,该算法用于交换5*5矩阵中的任意两行,并提供了具体的C++代码示例。通过输入矩阵和指定的行号,程序能够准确地完成行的交换并输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


总时间限制:


1000ms


内存限制:


65536kB


描述

给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

输入
输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。
第6行包含两个整数m、n,以一个空格分开。(1 <= m,n <= 5)
输出
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
样例输入
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5
样例输出
3 0 8 2 4
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
1 2 2 1 2









#include<bits/stdc++.h>
using namespace std;
int main()
{
 int m,n,a[6][6]={};//a[6][6]指从零开始到五 ,一共是36个数。“={}”使所有数组元素值为0 。
 for(int j=0;j<5;j++)
  for(int i=0;i<5;i++)
  cin>>a[j][i];//i是横坐标及y轴;j是x轴。*从零开始。
 cin>>m>>n;//输入实际要换行的y轴。
 for(int i=0;i<5;i++)
 {
  a[5][i]=a[m-1][i];//m-1、n-1指在操作中数组里要换行的y轴。
  a[m-1][i]=a[n-1][i];//第一步把m行的数移到第6空行,再将n行的数覆盖到m行。
  a[n-1][i]=a[5][i];//最后把原来在m行(现在在6行)的数覆盖到 n行。
 }
 for(int j=0;j<5;j++)
 {
  for(int i=0;i<5;i++)
  cout<<a[j][i]<<" ";
  cout<<endl;
 }//结束,输出换行后的结果。
 return 0;//第一次编译时间较长,约7秒左右。
}

### Numpy 创建操作二维数组 Numpy 是 Python 中用于科学计算的核心库之一,提供了强大的多维数组对象以及各种派生的对象集合。以下是关于如何创建操作 NumPy 二维数组的具体方法。 #### 使用 `numpy.array` 方法创建二维数组 可以利用 `numpy.array()` 函数来创建一个二维数组。该函数接受一个嵌套列表作为输入参数,并将其转换为 NumPy 数组[^1]。 ```python import numpy as np data = [[1, 2, 3], [4, 5, 6]] array_2d = np.array(data) print(array_2d) ``` #### 利用其他函数生成特定形式的二维数组 除了通过已有的数据结构构建外,还可以借助一些内置函数快速生成具有特殊性质的二维数组: - **arange**: 类似于 Python 的内置 range() 函数,但它返回的是 ndarray 而不是 list 。之后可以通过 reshape 改变其形状成为二维数组[^2]。 ```python array_aranged = np.arange(9).reshape((3, 3)) print(array_aranged) ``` - **zeros ones**: 可分别用来初始化全零或者全幺矩阵。 ```python zeros_matrix = np.zeros((3, 4)) ones_matrix = np.ones([2, 3]) print(zeros_matrix) print(ones_matrix) ``` - **eye 或 identity**: 这两个命令都可以得到单位方阵 (Identity Matrix),区别在于 eye 更加灵活因为允许指定对角线上元素的位置。 ```python unit_matrix_eye = np.eye(N=3, M=None, k=0) unit_matrix_identity = np.identity(n=3) print(unit_matrix_eye) print(unit_matrix_identity) ``` #### 基本的操作方式 对于已经存在的二维数组来说,常见的基本操作包括索引、切片、转置等。 - **访问单个元素** ```python element_value = array_2d[0][1] print(element_value) # 输出应该是 '2' ``` - **获取子集(切片)** ```python subset_array = array_2d[:2, :2] print(subset_array) ``` - **修改部分区域内的值** ```python array_2d[:, :] += 10 print(array_2d) ``` - **转置矩阵** ```python transposed_array = array_2d.T print(transposed_array) ``` 上述内容涵盖了使用 NumPy 库创建及初步处理二维数组的主要技巧[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值