请在函数部分使用void MoveData(int a[],int n,int m)
时间: 2023-12-21 07:04:16 浏览: 68
360MoveData\Users\dbtapp\Desktop\android-28(文件中附加错误说明和存放说明).zip
好的,以下是使用void MoveData(int a[],int n,int m)函数实现数组元素向右移动m个位置的代码:
```c++
#include <iostream>
using namespace std;
void MoveData(int a[], int n, int m)
{
int temp[m];
for(int i = 0; i < m; i++)
temp[i] = a[n - m + i];
for(int i = n - 1; i >= m; i--)
a[i] = a[i - m];
for(int i = 0; i < m; i++)
a[i] = temp[i];
}
int main()
{
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = 10, m = 3;
MoveData(a, n, m);
for(int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}
```
其中,函数MoveData(int a[], int n, int m)的参数a[]代表待移动的数组,n代表数组长度,m代表向右移动的位数。函数的实现过程:先将后m个元素存入临时数组temp中,再将前n-m个元素向右移动m位,最后将temp中的m个元素放到数组a的前m个位置。在主函数中,定义一个长度为10的数组a,将其初始化为1~10的连续整数,然后调用MoveData函数将数组a的元素向右移动3位,最后输出移动后的结果。
阅读全文