注册 登录
编程论坛 C++教室

函数问题请教

jmf6288 发布于 2018-06-30 23:43, 1907 次点击
编写一个名为RoTaTaRead的函数,它将数组的浮点数和数组的大小作为参数,并将数组的元素向左旋转一个。这意味着数组的第一个元素应该被旋转到数组的末尾。不允许在函数体内部声明数组。例如,调用数组(5, 7, 1,9, 0)上的函数将旋转它并将其更改为[ 7, 1, 9,0, 5 ]。
2 回复
#2
rjsp2018-07-01 08:31
std::rotate
参见 https://en.

一个示例
程序代码:
#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;

int main( void )
{
    int arr[] = { 0, 1, 2, 3, 4, 5 };
    rotate( arr+0, arr+1, arr+6 );
    copy( arr+0, arr+6, ostream_iterator<int>(cout," ") );

    return 0;
}
输出
1 2 3 4 5 0

#3
小虫笨2018-07-01 23:44
#include <iostream>
using namespace std;
void MOVE(int *arry, int len)
{
    int temp;
    for (int i = 0; i < len; i++)
    {
        if (i==0)
        {
            temp = arry[i];
        }
        arry[i] = arry[i + 1];
    }
    arry[len - 1] = temp;
    for (int i = 0; i < len; i++)
    cout << arry[i] << '\t';
}
int main(void)
{
    int arr[] = { 0, 1, 2, 3, 4, 5 };
    MOVE(arr, sizeof(arr) / sizeof(int));
    system("pause");
    return 0;
}
1