#include <iostream>
#include <iomanip>
using namespace std;
//数组右移m位,左边补0;
//如:1 2 3
// 4 5 6
// 7 8 9
//右移动2位的结果是:
// 0 0 1
// 0 0 4
// 0 0 7
void Grial(int(*a)[4], int n,int m)
{
for (int i = n - 1; i >= m; i--)
{
//赋值and清零。
for (int j = 0; j < n; j++)
{
a[j][i] = a[j][i-m];
a[j][i - m] = 0;
}
//看到一个代码很复杂,自己来写的试试。2行主要的。
}
}
int main()
{
int a[][4] = {1,2,3,4,
5,6,7,8,
9,10,11,12,
13,14,15,16};
Grial(a, 4,2);
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
cout << setw(5)<<a[i][j];
}
cout << endl;
}
return 0;
}
算法:矩阵右移
最新推荐文章于 2023-04-09 19:54:36 发布