c++创建一个n行m列的二维数组,存储n*m个数字+然后输出这个二维数组各列的和?

NumPy 的核心概念是 n 维数组。n 维数组的美丽之处是大多数运算看起来都一样,不管数组有多少维。但一维和二维有点特殊。本文分为三部分:

你最喜欢的 NumPy 功能是什么?请与我们分享!

觉得不错,请点个在看

}

如何旋转呢, 有两种方法, 一种是算法旋转, 另一种是规则旋转, 先讲讲算法旋转.

先看ary的展开样式, 我们定义横着的坐标为 X, 竖着的坐标为 Y. X和Y都从 0 开始

这时, 我们得到了 任意一个数值的坐标 (x, y)

这个公式是怎么来的呢, 我讲解一下我当时的思路. 先取任意值 1 (x = 0, y = 0). 然后观察, 旋转后, 1将会变成什么, 他会变成(x = 0, y = 2). 以此类推, 看2和3.  原先是横着的, 变为竖着了, 所以原先的Y值, 肯定跟新的X值有关系. 原先的X值, 跟新的Y值有关系. Y = 0的, 都变成了 X = 0的.  横着第一行的, 都变成了竖着第一列的. Y = 1的, 都变成了X = 1的, 横着第二行的, 都变成了竖着第二列的;

原先的Y值, 会变成新的X值.

原先横着的最大索引, 减去X, 会变成新的Y

以上就是在数学的模型下的算法推导.

然后再回归到现实, 循环数组. 有两种方式, 嵌套循环, 或者 一次循环, 这里先说嵌套.

循环里, 分别用了i跟j, i跟j,又是如何对应 上面数学公式里的x和y呢.

第一层循环 i, 实际上是竖着循环的, 所以i 对应 的是y.

第二层循环, 实际上是横着循环的, 所以j对应的是x.

那么在ary90中, 新的位置应该是多少呢. 那么就用上述公式

下面在说一下一次循环, 我们拟定确实是二维数组, ary中不会为空, 不会越界.

最后再讲一下, 不用数学公式的方法, 处理这道题

既然, 每行的最后一列, 会变成新的第一行, 那么就循环取出每列的最后一个, 放到新数组的第一行.

每列倒数第二个元素, 会变成新数组的第二行, 就以此类推. 直到每列第一行成为新数组的最后一行为止

无论怎么旋转, 都是先看中一个数, 再看他去哪个位置. 比如

}

我要回帖

更多关于 numpy创建二维数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信