手动旋转向量

Rotating Vectors Manually

本文关键字:向量 旋转      更新时间:2023-10-16

我正在尝试使此函数读取十个整数值(用户在键盘上输入(到矢量中,然后询问用户应正确旋转旋转向量元素的次数多少次周期性的时尚。然后,该函数应执行给定的旋转数量并输出所得的旋转向量。这是我到目前为止所拥有的。我遇到的问题是,当程序运行时,输出是不正确的。它不能正确旋转向量。我正在输入1 2 3 4 5 6 7 8 9 10作为输入,然后数字2作为旋转数量和我获得的输出为2、2、3、4、5、6、6、7、8、9,10,

#define _USE_MATH_DEFINES
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void function2()
{
    int num;
    vector<int> rotate;
    int num_rotate = 0;
    cin >> num_rotate;
    for (int i = 0; i < 10; i++)
    {
        cin >> num;
        rotate.push_back(num);
    }
    for (int x = 0; x < num_rotate; ++x)
    {
        int n = rotate[9];
        for (int i = 8; i >= 0; --i)
        {
            rotate[i + 1] = rotate[i];
        }
        rotate[0] = n;
    }
    for (int i = 0; i < rotate.size(); i++)
    {
        cout << rotate[i] << ", ";
    }
}
int main()
{
    function2();
}

问题是该功能首先要求输入旋转数,然后旋转数字。输入顺序错误。首先填充向量,然后设置旋转数:

int num;
vector<int> rotate;
for (int i = 0; i < 10; i++)
{
    cin >> num;
    rotate.push_back(num);
}
int num_rotate = 0;
cin >> num_rotate;