阵列的旋转 这是C++代码,我觉得它是正确的,但它不起作用。

阵列的旋转 这是C++代码,我觉得它是正确的,但它不起作用。,c++,C++,我会解释一下以便理解 t-尝试次数。 n-数组的大小。 k-旋转次数 输入:12345 对于k=2,输出:45 1 2 3 请提出同样的建议 #include<iostream> using namespace std; int main() { int t,n,k; cin >> t; int s = 0; int a[1000]; int b[1000]; for (int i = 0; i < t; i++)

我会解释一下以便理解

t
-尝试次数。
n
-数组的大小。
k
-旋转次数

输入:
12345

对于
k=2
,输出:
45 1 2 3

请提出同样的建议

#include<iostream>

using namespace std;

int main() {
    int t,n,k;
    cin >> t;
    int s = 0;
    int a[1000];
    int b[1000];
    for (int i = 0; i < t; i++) {
        cin >> n;  //TAKING IN THE NUMBER OF ELEMENTS.
        cin >> k;  // TAKING IN AMOUNT OF ROTATION.
        for (int j = 0; j < n; j++) {
            cin >> a[j];  //READING ARRAY.
            cout << " ";
        }
        for (int y = 0; y < n; y++) {
            b[y + k] = a[y];  // REARRANGING ARRAY.
            if (y + k >= n) {
                b[s] = a[y];
                s++;
            }
            cout << b[y] << " "; // SHOWING ARRAY.
        }
    }
    return 0;
}
#包括
使用名称空间std;
int main(){
int t,n,k;
cin>>t;
int s=0;
INTA[1000];
int b[1000];
for(int i=0;i>n;//接受元素的数量。
cin>>k;//接受旋转量。
对于(int j=0;j>a[j];//读取数组。
cout=n){
b[s]=a[y];
s++;
}

cout您的代码存在问题

cout<<b[y]<<" "; // SHOWING ARRAY.
coutn;
cin>>k;
对于(int j=0;j>a[j];

//可能是什么问题?另外,请清理问题格式,你发布的方式确实很难阅读。输入
1 2 3 4 5
的k=2与程序使用输入的方式不匹配。首先确保启用额外的警告,然后将警告作为错误处理。然后请。和一些缩进以使其成为错误sier to read可能也不错。最后,除非这是一个您必须自己编写旋转的练习,否则请了解。使用调试器逐步完成代码,这将有助于使错误变得非常明显。我简化了代码,最后一个for循环的错误(复数)脱颖而出。非常感谢您的帮助。我非常感谢您对我的问题的洞察力和指导,您的解决方案解决了我的问题,同时认识到我的错误。谢谢。
using namespace std;
int main()
{

int t;
cin>>t;
int n;
int k;

int a[1000];
int b[1000];
for(int i=0;i<t;i++)
{
    int s=0; //Changed
    cin>>n;  
    cin>>k;  
for(int j=0;j<n;j++)
    {
  cin>>a[j]; 
 // cout<<" ";  //Not needed
    }
for(int y=0;y<n;y++)
 {
   b[y+k]=a[y];  
   if(y+k>=n)
   {
   b[s]=a[y];
   s++;
   }
//cout<<b[y]<<" "; // changed this
 }
 for(int y=0;y<n;y++)         //added this
 cout<<b[y]<<" ";
}
return 0;
}