c# - 如何垂直翻转二维数组 C# 中的整数
问题描述
我正在尝试垂直翻转 2D 数组,因此我正在尝试将其转为:
1 2 3 4 1
5 6 7 8 2
4 3 2 1 1
8 7 6 5 2
进入
8 7 6 5 2
4 3 2 1 1
5 6 7 8 2
1 2 3 4 1
到目前为止,我有一个嵌套的 for 循环,
for (int i= 0; i<rows; i++)
{
for (int j = 0; j<columns; j++)
{
WillSmith[i, j] = arr[i,j];
}
}
'WillSmith' 是翻转数组,但我一直得到与我输入的数组相同的数组。
我不知道我做错了什么
编辑:我现在已经将它交换为读取 arr[j,i],但现在我收到一个错误,说我已经溢出了索引。我需要它才能适用于非方形数组,并且由于我正在测试的数组不是方形的,所以我不能只使用 newArray[i,j] = oldArray[j,i]。
解决方案
WillSmith[rows-1-i, j] = arr[i, j];
您想保留列索引,只需按列反转行。所以从头读,从尾写。
推荐阅读
- flutter - 如何解决 Firebase AdMob 集成问题
- kubernetes - 错误:错误:java.lang.RuntimeException:io.kubernetes.client.openapi.ApiException:禁止
- ios - 无法让自定义活动指示器设置动画
- javascript - TypeError:无法读取未定义的属性“会话”
- python - 有没有办法在移动网站上向下滚动或触发无限滚动加载?
- regex - 如何使用表达式解析电子邮件中的数据?
- python-3.x - 如何根据字典的长度对数据框进行子集化?
- pandas - 如何计算 Pandas 数据框中一列中两个重复值之间的单元格距离(例如索引)?
- docker - Cassandra CQL (cqlsh) docker 容器到 docker Cassandra 集群
- r - 在 r 中重新排列数据帧