这是C ++代码,我认为它是正确的,但是它不起作用。
我会解释一下以便理解
t
-尝试次数。
n
-数组的大小。
k
-转数。
输入:1 2 3 4 5
。
对于k=2
,输出:4 5 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;
}
答案 0 :(得分:0)
您的代码存在问题,
{Wood:2, Stone:1}
您必须将其从for循环中删除,因为您要尝试打印未给定值的内容。例如,首先y = 0,您设置了b [y + 2]但打印了b [y]尚未设置。
对于t> 1,您将看到的另一个问题是s的初始化已从main中完成,即仅首次运行时为0。
最终代码为
#include
cout<<b[y]<<" "; // SHOWING ARRAY.